Coverage Report

Created: 2024-06-04 01:34

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <tuple>
32
33
/////////////////////////////////////////////////////////////////
34
// <expected> implementation
35
/////////////////////////////////////////////////////////////////
36
37
// The following implementation of expected is based on TartanLlama/expected,
38
// but is heavily modified.
39
//
40
// The original source is here:
41
//     https://github.com/TartanLlama/expected
42
// which is licensed under CC0 (Public Domain).
43
44
namespace scn {
45
SCN_BEGIN_NAMESPACE
46
47
/////////////////////////////////////////////////////////////////
48
// Metaprogramming facilities
49
/////////////////////////////////////////////////////////////////
50
51
namespace detail {
52
53
template <typename T>
54
using integer_type_for_char =
55
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
56
57
template <typename T, template <typename...> class Templ>
58
struct is_specialization_of_impl : std::false_type {};
59
template <typename... T, template <typename...> class Templ>
60
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
61
62
template <typename T, template <typename...> class Templ>
63
using is_specialization_of =
64
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
65
template <typename T, template <typename...> class Templ>
66
inline constexpr bool is_specialization_of_v =
67
    is_specialization_of<T, Templ>::value;
68
69
// from mp11:
70
71
template <typename T>
72
struct mp_identity {
73
    using type = T;
74
};
75
template <typename T>
76
using mp_identity_t = typename mp_identity<T>::type;
77
78
template <bool B>
79
using mp_bool = std::integral_constant<bool, B>;
80
template <typename T>
81
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
82
template <typename T>
83
using mp_not = mp_bool<!T::value>;
84
85
template <bool C, typename T, typename... E>
86
struct mp_if_c_impl;
87
template <typename T, typename... E>
88
struct mp_if_c_impl<true, T, E...> {
89
    using type = T;
90
};
91
template <typename T, typename E>
92
struct mp_if_c_impl<false, T, E> {
93
    using type = E;
94
};
95
96
template <bool C, typename T, typename... E>
97
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
98
template <typename C, typename T, typename... E>
99
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
100
101
template <template <typename...> class F, typename... T>
102
struct mp_valid_impl {
103
    template <template <typename...> class G, typename = G<T...>>
104
    static std::true_type check(int);
105
    template <template <typename...> class>
106
    static std::false_type check(...);
107
108
    using type = decltype(check<F>(0));
109
};
110
111
template <template <typename...> class F, typename... T>
112
using mp_valid = typename mp_valid_impl<F, T...>::type;
113
template <template <typename...> class F, typename... T>
114
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
115
116
struct mp_nonesuch {};
117
template <template <typename...> class F, typename... T>
118
struct mp_defer_impl {
119
    using type = F<T...>;
120
};
121
122
template <template <typename...> class F, typename... T>
123
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
124
125
template <bool C, class T, template <class...> class F, class... U>
126
struct mp_eval_if_c_impl;
127
128
template <class T, template <class...> class F, class... U>
129
struct mp_eval_if_c_impl<true, T, F, U...> {
130
    using type = T;
131
};
132
133
template <class T, template <class...> class F, class... U>
134
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
135
136
template <bool C, class T, template <class...> class F, class... U>
137
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
138
template <class C, class T, template <class...> class F, class... U>
139
using mp_eval_if =
140
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
141
template <class C, class T, class Q, class... U>
142
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
143
                                                T,
144
                                                Q::template fn,
145
                                                U...>::type;
146
147
// mp_eval_if_not
148
template <class C, class T, template <class...> class F, class... U>
149
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
150
template <class C, class T, class Q, class... U>
151
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
152
153
// mp_eval_or
154
template <class T, template <class...> class F, class... U>
155
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
156
template <class T, class Q, class... U>
157
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
158
159
// mp_valid_and_true
160
template <template <class...> class F, class... T>
161
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
162
template <class Q, class... T>
163
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
164
165
// extension
166
template <template <typename...> class F, typename... T>
167
using mp_valid_result =
168
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
169
template <template <typename...> class F, typename... T>
170
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
171
172
/////////////////////////////////////////////////////////////////
173
// pointer_traits and to_address
174
/////////////////////////////////////////////////////////////////
175
176
template <typename Ptr, typename>
177
struct pointer_traits {};
178
179
template <typename T>
180
struct pointer_traits<T*, void> {
181
    using pointer = T*;
182
    using element_type = T;
183
    using difference_type = std::ptrdiff_t;
184
185
    template <typename U>
186
    using rebind = U*;
187
188
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
189
    static constexpr pointer pointer_to(U& r) noexcept
190
    {
191
        return &r;
192
    }
193
194
    static constexpr pointer to_address(pointer p) noexcept
195
    {
196
        return p;
197
    }
198
};
199
200
template <typename Ptr>
201
using apply_member_difference_type = typename Ptr::difference_type;
202
template <typename Ptr>
203
using get_member_difference_type =
204
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
205
206
template <typename Ptr, typename ElementType>
207
struct pointer_traits_generic_base {
208
    using pointer = Ptr;
209
    using element_type = ElementType;
210
211
    using difference_type = get_member_difference_type<Ptr>;
212
    static_assert(std::is_integral_v<difference_type>);
213
214
    // no rebind (TODO?)
215
216
    template <typename P = Ptr>
217
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
218
    {
219
        return Ptr::pointer_to(r);
220
    }
221
};
222
223
template <typename It, typename = void>
224
struct wrapped_pointer_iterator;
225
226
#ifdef _GLIBCXX_DEBUG
227
template <typename Elem, typename Container>
228
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
229
    static constexpr auto to_address(
230
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
231
    {
232
        return it.base();
233
    }
234
};
235
#endif
236
#if SCN_STDLIB_GLIBCXX
237
template <typename Elem, typename Container>
238
struct wrapped_pointer_iterator<
239
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
240
    static constexpr auto to_address(
241
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
242
    {
243
        return it.base();
244
    }
245
};
246
#endif
247
#if SCN_STDLIB_LIBCPP
248
template <typename Elem>
249
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
250
    static constexpr auto to_address(const std::__wrap_iter<Elem*>& it) noexcept
251
    {
252
        return it.base();
253
    }
254
};
255
#endif
256
257
template <typename I>
258
using apply_deref = decltype(*SCN_DECLVAL(I&));
259
template <typename I>
260
using apply_incr = decltype(++SCN_DECLVAL(I&));
261
template <typename I>
262
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
263
template <typename It>
264
struct wrapped_pointer_iterator<
265
    It,
266
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
267
                     mp_valid_v<apply_incr, It> &&
268
                     mp_valid_v<apply_member_unwrapped, It>>> {
269
    static constexpr auto to_address(const It& it) noexcept
270
    {
271
        return it._Unwrapped();
272
    }
273
};
274
275
template <typename I>
276
using apply_member_to_address =
277
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
278
279
template <typename Iterator>
280
struct pointer_traits<
281
    Iterator,
282
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
283
    : pointer_traits_generic_base<
284
          Iterator,
285
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
286
    static constexpr auto to_address(const Iterator& it) noexcept
287
    {
288
        return wrapped_pointer_iterator<Iterator>::to_address(it);
289
    }
290
};
291
292
template <typename It>
293
using apply_ptr_traits_to_address =
294
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
295
template <typename It>
296
inline constexpr bool can_make_address_from_iterator =
297
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
298
299
template <typename T>
300
constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
301
1.62G
{
302
1.62G
    return p;
303
1.62G
}
char const* scn::v3::detail::to_address_impl<char const>(char const*, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
301
79.1M
{
302
79.1M
    return p;
303
79.1M
}
wchar_t const* scn::v3::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
301
1.54G
{
302
1.54G
    return p;
303
1.54G
}
304
template <typename Ptr>
305
constexpr auto to_address_impl(const Ptr& p, priority_tag<1>) noexcept
306
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
307
{
308
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
309
}
310
template <typename Ptr>
311
constexpr auto to_address_impl(const Ptr& p, priority_tag<0>) noexcept
312
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
313
                                               priority_tag<2>{}))
314
{
315
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
316
}
317
318
template <typename Ptr>
319
constexpr auto to_address(Ptr&& p) noexcept
320
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
321
1.62G
{
322
1.62G
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
1.62G
}
_ZN3scn2v36detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
321
71.1M
{
322
71.1M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
71.1M
}
_ZN3scn2v36detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
321
8.08M
{
322
8.08M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
8.08M
}
_ZN3scn2v36detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
321
1.50G
{
322
1.50G
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
1.50G
}
_ZN3scn2v36detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
321
44.7M
{
322
44.7M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
44.7M
}
324
325
}  // namespace detail
326
327
template <typename E>
328
class SCN_TRIVIAL_ABI unexpected {
329
    static_assert(std::is_destructible_v<E>);
330
331
public:
332
    unexpected() = delete;
333
334
    template <
335
        typename Err = E,
336
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
337
                                    !std::is_same_v<Err, std::in_place_t> &&
338
                                    std::is_constructible_v<E, Err>>>
339
    explicit constexpr unexpected(Err&& e) noexcept(
340
        std::is_nothrow_constructible_v<E, Err>)
341
        : m_unexpected(std::forward<Err>(e))
342
56.5M
    {
343
56.5M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
56.5M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error&, void>(scn::v3::scan_error&)
Line
Count
Source
342
11.8M
    {
343
11.8M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
11.8M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(scn::v3::scan_error&&)
Line
Count
Source
342
885k
    {
343
885k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
885k
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error, void>(scn::v3::impl::eof_error&&)
Line
Count
Source
342
230k
    {
343
230k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
230k
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error&, void>(scn::v3::impl::eof_error&)
Line
Count
Source
342
171k
    {
343
171k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
171k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(scn::v3::impl::parse_error&&)
Line
Count
Source
342
116k
    {
343
116k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
116k
    }
scn::v3::unexpected<scn::v3::impl::parse_error::code>::unexpected<scn::v3::impl::parse_error::code, void>(scn::v3::impl::parse_error::code&&)
Line
Count
Source
342
37.6M
    {
343
37.6M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
37.6M
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error&, void>(scn::v3::impl::parse_error&)
Line
Count
Source
342
5.75M
    {
343
5.75M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
5.75M
    }
345
346
    template <typename... Args,
347
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
348
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
349
        std::is_nothrow_constructible_v<E, Args...>)
350
        : m_unexpected(std::forward<Args>(args)...)
351
63.1M
    {
352
63.1M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
63.1M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(std::__1::in_place_t, scn::v3::scan_error&&)
Line
Count
Source
351
18.9M
    {
352
18.9M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
18.9M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error, void>(std::__1::in_place_t, scn::v3::impl::eof_error&&)
Line
Count
Source
351
402k
    {
352
402k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
402k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(std::__1::in_place_t, scn::v3::impl::parse_error&&)
Line
Count
Source
351
6.09M
    {
352
6.09M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
6.09M
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error::code, void>(std::__1::in_place_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
351
37.6M
    {
352
37.6M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
37.6M
    }
354
355
    SCN_NODISCARD constexpr E& error() & noexcept
356
89.1M
    {
357
89.1M
        return m_unexpected;
358
89.1M
    }
scn::v3::unexpected<scn::v3::scan_error>::error() &
Line
Count
Source
356
23.7M
    {
357
23.7M
        return m_unexpected;
358
23.7M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::error() &
Line
Count
Source
356
804k
    {
357
804k
        return m_unexpected;
358
804k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::error() &
Line
Count
Source
356
26.8M
    {
357
26.8M
        return m_unexpected;
358
26.8M
    }
scn::v3::unexpected<scn::v3::impl::parse_error::code>::error() &
Line
Count
Source
356
37.6M
    {
357
37.6M
        return m_unexpected;
358
37.6M
    }
359
    SCN_NODISCARD constexpr const E& error() const& noexcept
360
0
    {
361
0
        return m_unexpected;
362
0
    }
Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::parse_error>::error() const &
363
364
    SCN_NODISCARD constexpr E&& error() && noexcept
365
    {
366
        return std::move(m_unexpected);
367
    }
368
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
369
    {
370
        return std::move(m_unexpected);
371
    }
372
373
private:
374
    E m_unexpected;
375
};
376
377
template <typename E>
378
unexpected(E) -> unexpected<E>;
379
380
struct unexpect_t {};
381
inline constexpr unexpect_t unexpect{};
382
383
namespace detail {
384
template <typename T, typename... Args>
385
T* construct_at(T* p, Args&&... args) noexcept(
386
    std::is_nothrow_constructible_v<T, Args...>)
387
45.7M
{
388
45.7M
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
45.7M
        T(std::forward<Args>(args)...);
390
45.7M
}
scn::v3::unexpected<scn::v3::scan_error>* scn::v3::detail::construct_at<scn::v3::unexpected<scn::v3::scan_error>, std::__1::in_place_t const&, scn::v3::scan_error>(scn::v3::unexpected<scn::v3::scan_error>*, std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
387
227k
{
388
227k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
227k
        T(std::forward<Args>(args)...);
390
227k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
158k
{
388
158k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
158k
        T(std::forward<Args>(args)...);
390
158k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
387
788
{
388
788
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
788
        T(std::forward<Args>(args)...);
390
788
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
86
{
388
86
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
86
        T(std::forward<Args>(args)...);
390
86
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
387
22.2M
{
388
22.2M
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
22.2M
        T(std::forward<Args>(args)...);
390
22.2M
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
311k
{
388
311k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
311k
        T(std::forward<Args>(args)...);
390
311k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
309k
{
388
309k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
309k
        T(std::forward<Args>(args)...);
390
309k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
724
{
388
724
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
724
        T(std::forward<Args>(args)...);
390
724
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
724
{
388
724
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
724
        T(std::forward<Args>(args)...);
390
724
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
160k
{
388
160k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
160k
        T(std::forward<Args>(args)...);
390
160k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
387
22.2M
{
388
22.2M
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
22.2M
        T(std::forward<Args>(args)...);
390
22.2M
}
391
template <typename T>
392
void destroy_at(T* p) noexcept
393
45.7M
{
394
45.7M
    if constexpr (std::is_array_v<T>) {
395
45.7M
        for (auto& elem : *p) {
396
45.7M
            scn::detail::destroy_at(&elem);
397
45.7M
        }
398
45.7M
    }
399
45.7M
    else {
400
45.7M
        p->~T();
401
45.7M
    }
402
45.7M
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
158k
{
394
158k
    if constexpr (std::is_array_v<T>) {
395
158k
        for (auto& elem : *p) {
396
158k
            scn::detail::destroy_at(&elem);
397
158k
        }
398
158k
    }
399
158k
    else {
400
158k
        p->~T();
401
158k
    }
402
158k
}
void scn::v3::detail::destroy_at<scn::v3::unexpected<scn::v3::scan_error> >(scn::v3::unexpected<scn::v3::scan_error>*)
Line
Count
Source
393
227k
{
394
227k
    if constexpr (std::is_array_v<T>) {
395
227k
        for (auto& elem : *p) {
396
227k
            scn::detail::destroy_at(&elem);
397
227k
        }
398
227k
    }
399
227k
    else {
400
227k
        p->~T();
401
227k
    }
402
227k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
393
788
{
394
788
    if constexpr (std::is_array_v<T>) {
395
788
        for (auto& elem : *p) {
396
788
            scn::detail::destroy_at(&elem);
397
788
        }
398
788
    }
399
788
    else {
400
788
        p->~T();
401
788
    }
402
788
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
86
{
394
86
    if constexpr (std::is_array_v<T>) {
395
86
        for (auto& elem : *p) {
396
86
            scn::detail::destroy_at(&elem);
397
86
        }
398
86
    }
399
86
    else {
400
86
        p->~T();
401
86
    }
402
86
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
393
22.2M
{
394
22.2M
    if constexpr (std::is_array_v<T>) {
395
22.2M
        for (auto& elem : *p) {
396
22.2M
            scn::detail::destroy_at(&elem);
397
22.2M
        }
398
22.2M
    }
399
22.2M
    else {
400
22.2M
        p->~T();
401
22.2M
    }
402
22.2M
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
311k
{
394
311k
    if constexpr (std::is_array_v<T>) {
395
311k
        for (auto& elem : *p) {
396
311k
            scn::detail::destroy_at(&elem);
397
311k
        }
398
311k
    }
399
311k
    else {
400
311k
        p->~T();
401
311k
    }
402
311k
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
309k
{
394
309k
    if constexpr (std::is_array_v<T>) {
395
309k
        for (auto& elem : *p) {
396
309k
            scn::detail::destroy_at(&elem);
397
309k
        }
398
309k
    }
399
309k
    else {
400
309k
        p->~T();
401
309k
    }
402
309k
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
724
{
394
724
    if constexpr (std::is_array_v<T>) {
395
724
        for (auto& elem : *p) {
396
724
            scn::detail::destroy_at(&elem);
397
724
        }
398
724
    }
399
724
    else {
400
724
        p->~T();
401
724
    }
402
724
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
724
{
394
724
    if constexpr (std::is_array_v<T>) {
395
724
        for (auto& elem : *p) {
396
724
            scn::detail::destroy_at(&elem);
397
724
        }
398
724
    }
399
724
    else {
400
724
        p->~T();
401
724
    }
402
724
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
160k
{
394
160k
    if constexpr (std::is_array_v<T>) {
395
160k
        for (auto& elem : *p) {
396
160k
            scn::detail::destroy_at(&elem);
397
160k
        }
398
160k
    }
399
160k
    else {
400
160k
        p->~T();
401
160k
    }
402
160k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
393
22.2M
{
394
22.2M
    if constexpr (std::is_array_v<T>) {
395
22.2M
        for (auto& elem : *p) {
396
22.2M
            scn::detail::destroy_at(&elem);
397
22.2M
        }
398
22.2M
    }
399
22.2M
    else {
400
22.2M
        p->~T();
401
22.2M
    }
402
22.2M
}
403
404
struct deferred_init_tag_t {};
405
static constexpr deferred_init_tag_t deferred_init_tag{};
406
407
template <typename T,
408
          typename E,
409
          bool IsTriviallyDestructible = std::is_trivially_destructible_v<T> &&
410
                                         std::is_trivially_destructible_v<E>>
411
struct expected_storage_base;
412
413
template <typename T, typename E>
414
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
415
    constexpr expected_storage_base() noexcept(
416
        std::is_nothrow_default_constructible_v<T>)
417
        : m_value(T{}), m_has_value(true)
418
    {
419
    }
420
421
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
422
        : m_deferred_init(), m_has_value(false)
423
    {
424
    }
425
426
    template <typename... Args,
427
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
428
    constexpr explicit expected_storage_base(
429
        std::in_place_t,
430
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
431
        : m_value(std::forward<Args>(args)...), m_has_value(true)
432
623M
    {
433
623M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
432
4.70M
    {
433
4.70M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Line
Count
Source
432
146
    {
433
146
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Line
Count
Source
432
382k
    {
433
382k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Line
Count
Source
432
324k
    {
433
324k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Line
Count
Source
432
810k
    {
433
810k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
432
158k
    {
433
158k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
432
44.6M
    {
433
44.6M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Line
Count
Source
432
74
    {
433
74
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Line
Count
Source
432
711
    {
433
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Line
Count
Source
432
564
    {
433
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Line
Count
Source
432
20.5k
    {
433
20.5k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
432
22.2M
    {
433
22.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
432
15.7M
    {
433
15.7M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
432
45.4M
    {
433
45.4M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
432
22.5M
    {
433
22.5M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
432
90.6M
    {
433
90.6M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
432
23.3M
    {
433
23.3M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
432
6.85M
    {
433
6.85M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
432
2.13M
    {
433
2.13M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
4.90M
    {
433
4.90M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
432
13.2M
    {
433
13.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
432
2.16M
    {
433
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
432
2.16M
    {
433
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
432
3.48M
    {
433
3.48M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
432
11.3M
    {
433
11.3M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
432
5.31k
    {
433
5.31k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
432
3.21k
    {
433
3.21k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
432
6.86M
    {
433
6.86M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
992
    {
433
992
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
432
1.40k
    {
433
1.40k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
432
754
    {
433
754
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
432
754
    {
433
754
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
432
1.67M
    {
433
1.67M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
4.72M
    {
433
4.72M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
432
1.06M
    {
433
1.06M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
432
2.16M
    {
433
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
432
2.16M
    {
433
2.16M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
432
3.47M
    {
433
3.47M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
432
85.8M
    {
433
85.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
2.49M
    {
433
2.49M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
238
    {
433
238
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
2.47M
    {
433
2.47M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<std::__1::regex_constants::syntax_option_type, void>(std::__1::in_place_t, std::__1::regex_constants::syntax_option_type&&)
Line
Count
Source
432
13.9k
    {
433
13.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
432
870
    {
433
870
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
432
564
    {
433
564
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
Line
Count
Source
432
3.79k
    {
433
3.79k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
432
24.8M
    {
433
24.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
432
18.4M
    {
433
18.4M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
432
6.40k
    {
433
6.40k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
664k
    {
433
664k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
432
1.06M
    {
433
1.06M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
432
351k
    {
433
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
432
351k
    {
433
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
432
8.96M
    {
433
8.96M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
432
47.0M
    {
433
47.0M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
432
2.54k
    {
433
2.54k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
432
1.31k
    {
433
1.31k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
432
36.2M
    {
433
36.2M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
526
    {
433
526
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
432
650
    {
433
650
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
432
406
    {
433
406
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
432
406
    {
433
406
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
432
4.53k
    {
433
4.53k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
666k
    {
433
666k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
432
1.02M
    {
433
1.02M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
432
354k
    {
433
354k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
432
354k
    {
433
354k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
432
17.8M
    {
433
17.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
310k
    {
433
310k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
120
    {
433
120
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
311k
    {
433
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
432
42
    {
433
42
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Line
Count
Source
432
84
    {
433
84
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<int, void>(std::__1::in_place_t, int&&)
Line
Count
Source
432
264k
    {
433
264k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Line
Count
Source
432
296k
    {
433
296k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Line
Count
Source
432
283k
    {
433
283k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Line
Count
Source
432
390k
    {
433
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Line
Count
Source
432
328k
    {
433
328k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
432
4.57M
    {
433
4.57M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Line
Count
Source
432
297k
    {
433
297k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Line
Count
Source
432
284k
    {
433
284k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Line
Count
Source
432
383k
    {
433
383k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Line
Count
Source
432
326k
    {
433
326k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Line
Count
Source
432
390k
    {
433
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Line
Count
Source
432
330k
    {
433
330k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Line
Count
Source
432
595
    {
433
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Line
Count
Source
432
500
    {
433
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Line
Count
Source
432
864
    {
433
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Line
Count
Source
432
694
    {
433
694
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
432
22.3M
    {
433
22.3M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Line
Count
Source
432
595
    {
433
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Line
Count
Source
432
500
    {
433
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Line
Count
Source
432
711
    {
433
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Line
Count
Source
432
564
    {
433
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Line
Count
Source
432
864
    {
433
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Line
Count
Source
432
694
    {
433
694
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&)
Line
Count
Source
432
746k
    {
433
746k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&)
Line
Count
Source
432
821k
    {
433
821k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&)
Line
Count
Source
432
754k
    {
433
754k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&)
Line
Count
Source
432
818k
    {
433
818k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&)
Line
Count
Source
432
828k
    {
433
828k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&)
Line
Count
Source
432
20.4k
    {
433
20.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&)
Line
Count
Source
432
20.7k
    {
433
20.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&)
Line
Count
Source
432
20.3k
    {
433
20.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&)
Line
Count
Source
432
20.5k
    {
433
20.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&)
Line
Count
Source
432
20.6k
    {
433
20.6k
    }
434
435
    template <typename... Args,
436
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
437
    constexpr explicit expected_storage_base(
438
        unexpect_t,
439
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
440
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
441
          m_has_value(false)
442
62.8M
    {
443
62.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
472k
    {
443
472k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
9.12k
    {
443
9.12k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
50.1k
    {
443
50.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
50.1k
    {
443
50.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
51.0k
    {
443
51.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
9.27k
    {
443
9.27k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
9.27k
    {
443
9.27k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
19.0k
    {
443
19.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
950k
    {
443
950k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
18.4k
    {
443
18.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
100k
    {
443
100k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
100k
    {
443
100k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
102k
    {
443
102k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
18.5k
    {
443
18.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
18.5k
    {
443
18.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
39.6k
    {
443
39.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
3.18M
    {
443
3.18M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
2.20M
    {
443
2.20M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
3.29M
    {
443
3.29M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
2.00M
    {
443
2.00M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
159k
    {
443
159k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
42.4k
    {
443
42.4k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
2.63M
    {
443
2.63M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
18.8M
    {
443
18.8M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
512
    {
443
512
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
61.9k
    {
443
61.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
338
    {
443
338
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
4.90k
    {
443
4.90k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
38.6k
    {
443
38.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
614
    {
443
614
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
3.93k
    {
443
3.93k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
2.52M
    {
443
2.52M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
14.1M
    {
443
14.1M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
162
    {
443
162
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
2.95M
    {
443
2.95M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
87.9k
    {
443
87.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
5.35k
    {
443
5.35k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
466k
    {
443
466k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
2.56M
    {
443
2.56M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
27
    {
443
27
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
92.0k
    {
443
92.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
160
    {
443
160
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
2.00k
    {
443
2.00k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
7.17k
    {
443
7.17k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
440
    {
443
440
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
2.07k
    {
443
2.07k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
467k
    {
443
467k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
2.02M
    {
443
2.02M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
12
    {
443
12
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
381k
    {
443
381k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
762k
    {
443
762k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
41.7k
    {
443
41.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
41.7k
    {
443
41.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
41.7k
    {
443
41.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
41.7k
    {
443
41.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
41.7k
    {
443
41.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
83.5k
    {
443
83.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
83.5k
    {
443
83.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
83.5k
    {
443
83.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
83.5k
    {
443
83.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
83.5k
    {
443
83.5k
    }
444
445
    constexpr T& get_value() & noexcept
446
634M
    {
447
634M
        return m_value;
448
634M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
113M
    {
447
113M
        return m_value;
448
113M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
4.70M
    {
447
4.70M
        return m_value;
448
4.70M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
44.6M
    {
447
44.6M
        return m_value;
448
44.6M
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
13.9k
    {
447
13.9k
        return m_value;
448
13.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
15.2M
    {
447
15.2M
        return m_value;
448
15.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
23.9M
    {
447
23.9M
        return m_value;
448
23.9M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
23.6M
    {
447
23.6M
        return m_value;
448
23.6M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
108M
    {
447
108M
        return m_value;
448
108M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
6.36M
    {
447
6.36M
        return m_value;
448
6.36M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
6.85M
    {
447
6.85M
        return m_value;
448
6.85M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
18.0M
    {
447
18.0M
        return m_value;
448
18.0M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
4.90M
    {
447
4.90M
        return m_value;
448
4.90M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
2.16M
    {
447
2.16M
        return m_value;
448
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.16M
    {
447
2.16M
        return m_value;
448
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
16.8M
    {
447
16.8M
        return m_value;
448
16.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
3.82k
    {
447
3.82k
        return m_value;
448
3.82k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
6.86M
    {
447
6.86M
        return m_value;
448
6.86M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
1.40k
    {
447
1.40k
        return m_value;
448
1.40k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
992
    {
447
992
        return m_value;
448
992
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
754
    {
447
754
        return m_value;
448
754
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
754
    {
447
754
        return m_value;
448
754
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
3.77k
    {
447
3.77k
        return m_value;
448
3.77k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
3.44M
    {
447
3.44M
        return m_value;
448
3.44M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
4.72M
    {
447
4.72M
        return m_value;
448
4.72M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
2.16M
    {
447
2.16M
        return m_value;
448
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.16M
    {
447
2.16M
        return m_value;
448
2.16M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.49M
    {
447
2.49M
        return m_value;
448
2.49M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
238
    {
447
238
        return m_value;
448
238
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.47M
    {
447
2.47M
        return m_value;
448
2.47M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
18.4M
    {
447
18.4M
        return m_value;
448
18.4M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
1.13M
    {
447
1.13M
        return m_value;
448
1.13M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
664k
    {
447
664k
        return m_value;
448
664k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
351k
    {
447
351k
        return m_value;
448
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
351k
    {
447
351k
        return m_value;
448
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
54.3M
    {
447
54.3M
        return m_value;
448
54.3M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
46.2M
    {
447
46.2M
        return m_value;
448
46.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
1.69k
    {
447
1.69k
        return m_value;
448
1.69k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
36.2M
    {
447
36.2M
        return m_value;
448
36.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
650
    {
447
650
        return m_value;
448
650
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
526
    {
447
526
        return m_value;
448
526
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
406
    {
447
406
        return m_value;
448
406
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
406
    {
447
406
        return m_value;
448
406
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
1.31k
    {
447
1.31k
        return m_value;
448
1.31k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
1.05M
    {
447
1.05M
        return m_value;
448
1.05M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
666k
    {
447
666k
        return m_value;
448
666k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
354k
    {
447
354k
        return m_value;
448
354k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
354k
    {
447
354k
        return m_value;
448
354k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
310k
    {
447
310k
        return m_value;
448
310k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
120
    {
447
120
        return m_value;
448
120
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
311k
    {
447
311k
        return m_value;
448
311k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
296k
    {
447
296k
        return m_value;
448
296k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
283k
    {
447
283k
        return m_value;
448
283k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
382k
    {
447
382k
        return m_value;
448
382k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
324k
    {
447
324k
        return m_value;
448
324k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
390k
    {
447
390k
        return m_value;
448
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
328k
    {
447
328k
        return m_value;
448
328k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
4.57M
    {
447
4.57M
        return m_value;
448
4.57M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
297k
    {
447
297k
        return m_value;
448
297k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
284k
    {
447
284k
        return m_value;
448
284k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
383k
    {
447
383k
        return m_value;
448
383k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
326k
    {
447
326k
        return m_value;
448
326k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
390k
    {
447
390k
        return m_value;
448
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
330k
    {
447
330k
        return m_value;
448
330k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
595
    {
447
595
        return m_value;
448
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
500
    {
447
500
        return m_value;
448
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
711
    {
447
711
        return m_value;
448
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
564
    {
447
564
        return m_value;
448
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
864
    {
447
864
        return m_value;
448
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
694
    {
447
694
        return m_value;
448
694
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
22.3M
    {
447
22.3M
        return m_value;
448
22.3M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
595
    {
447
595
        return m_value;
448
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
500
    {
447
500
        return m_value;
448
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
711
    {
447
711
        return m_value;
448
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
564
    {
447
564
        return m_value;
448
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
864
    {
447
864
        return m_value;
448
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
694
    {
447
694
        return m_value;
448
694
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
157k
    {
447
157k
        return m_value;
448
157k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
22.2M
    {
447
22.2M
        return m_value;
448
22.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
746k
    {
447
746k
        return m_value;
448
746k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
810k
    {
447
810k
        return m_value;
448
810k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
821k
    {
447
821k
        return m_value;
448
821k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
754k
    {
447
754k
        return m_value;
448
754k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
818k
    {
447
818k
        return m_value;
448
818k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
828k
    {
447
828k
        return m_value;
448
828k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
20.4k
    {
447
20.4k
        return m_value;
448
20.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
20.5k
    {
447
20.5k
        return m_value;
448
20.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
20.7k
    {
447
20.7k
        return m_value;
448
20.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
20.3k
    {
447
20.3k
        return m_value;
448
20.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
20.5k
    {
447
20.5k
        return m_value;
448
20.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
20.6k
    {
447
20.6k
        return m_value;
448
20.6k
    }
449
    constexpr const T& get_value() const& noexcept
450
0
    {
451
0
        return m_value;
452
0
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() const &
453
    constexpr T&& get_value() && noexcept
454
    {
455
        return std::move(m_value);
456
    }
457
    constexpr const T&& get_value() const&& noexcept
458
    {
459
        return std::move(m_value);
460
    }
461
462
    constexpr unexpected<E>& get_unexpected() & noexcept
463
32.4M
    {
464
32.4M
        return m_unexpected;
465
32.4M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
2.95M
    {
464
2.95M
        return m_unexpected;
465
2.95M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
472k
    {
464
472k
        return m_unexpected;
465
472k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
950k
    {
464
950k
        return m_unexpected;
465
950k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
159k
    {
464
159k
        return m_unexpected;
465
159k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
87.9k
    {
464
87.9k
        return m_unexpected;
465
87.9k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
955k
    {
464
955k
        return m_unexpected;
465
955k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
1.69M
    {
464
1.69M
        return m_unexpected;
465
1.69M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
61.6k
    {
464
61.6k
        return m_unexpected;
465
61.6k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
42.4k
    {
464
42.4k
        return m_unexpected;
465
42.4k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
9.00M
    {
464
9.00M
        return m_unexpected;
465
9.00M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
818k
    {
464
818k
        return m_unexpected;
465
818k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
266
    {
464
266
        return m_unexpected;
465
266
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
38.6k
    {
464
38.6k
        return m_unexpected;
465
38.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
2.63k
    {
464
2.63k
        return m_unexpected;
465
2.63k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
4.66k
    {
464
4.66k
        return m_unexpected;
465
4.66k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
8.62M
    {
464
8.62M
        return m_unexpected;
465
8.62M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
5.35k
    {
464
5.35k
        return m_unexpected;
465
5.35k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
1.90M
    {
464
1.90M
        return m_unexpected;
465
1.90M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
1.89M
    {
464
1.89M
        return m_unexpected;
465
1.89M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
160
    {
464
160
        return m_unexpected;
465
160
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
92.0k
    {
464
92.0k
        return m_unexpected;
465
92.0k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
7.17k
    {
464
7.17k
        return m_unexpected;
465
7.17k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
1.44k
    {
464
1.44k
        return m_unexpected;
465
1.44k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
1.88k
    {
464
1.88k
        return m_unexpected;
465
1.88k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
1.47M
    {
464
1.47M
        return m_unexpected;
465
1.47M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
381k
    {
464
381k
        return m_unexpected;
465
381k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
762k
    {
464
762k
        return m_unexpected;
465
762k
    }
466
    constexpr const unexpected<E>& get_unexpected() const& noexcept
467
0
    {
468
0
        return m_unexpected;
469
0
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() const &
470
    constexpr unexpected<E>&& get_unexpected() && noexcept
471
    {
472
        return std::move(m_unexpected);
473
    }
474
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
475
    {
476
        return std::move(m_unexpected);
477
    }
478
479
    SCN_NODISCARD constexpr bool has_value() const noexcept
480
1.39G
    {
481
1.39G
        return m_has_value;
482
1.39G
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
233M
    {
481
233M
        return m_has_value;
482
233M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
10.3M
    {
481
10.3M
        return m_has_value;
482
10.3M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
91.2M
    {
481
91.2M
        return m_has_value;
482
91.2M
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
27.9k
    {
481
27.9k
        return m_has_value;
482
27.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
38.9M
    {
481
38.9M
        return m_has_value;
482
38.9M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
48.9M
    {
481
48.9M
        return m_has_value;
482
48.9M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
56.3M
    {
481
56.3M
        return m_has_value;
482
56.3M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
220M
    {
481
220M
        return m_has_value;
482
220M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
17.8M
    {
481
17.8M
        return m_has_value;
482
17.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
13.7M
    {
481
13.7M
        return m_has_value;
482
13.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
68.8M
    {
481
68.8M
        return m_has_value;
482
68.8M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
9.81M
    {
481
9.81M
        return m_has_value;
482
9.81M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
4.32M
    {
481
4.32M
        return m_has_value;
482
4.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
4.32M
    {
481
4.32M
        return m_has_value;
482
4.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
42.5M
    {
481
42.5M
        return m_has_value;
482
42.5M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
9.74k
    {
481
9.74k
        return m_has_value;
482
9.74k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
13.7M
    {
481
13.7M
        return m_has_value;
482
13.7M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
10.6k
    {
481
10.6k
        return m_has_value;
482
10.6k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
1.98k
    {
481
1.98k
        return m_has_value;
482
1.98k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
1.50k
    {
481
1.50k
        return m_has_value;
482
1.50k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
1.50k
    {
481
1.50k
        return m_has_value;
482
1.50k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
17.3k
    {
481
17.3k
        return m_has_value;
482
17.3k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
36.3M
    {
481
36.3M
        return m_has_value;
482
36.3M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
9.44M
    {
481
9.44M
        return m_has_value;
482
9.44M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
4.32M
    {
481
4.32M
        return m_has_value;
482
4.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
4.32M
    {
481
4.32M
        return m_has_value;
482
4.32M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
4.99M
    {
481
4.99M
        return m_has_value;
482
4.99M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
476
    {
481
476
        return m_has_value;
482
476
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
4.95M
    {
481
4.95M
        return m_has_value;
482
4.95M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
36.8M
    {
481
36.8M
        return m_has_value;
482
36.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
8.01M
    {
481
8.01M
        return m_has_value;
482
8.01M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
1.32M
    {
481
1.32M
        return m_has_value;
482
1.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
703k
    {
481
703k
        return m_has_value;
482
703k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
703k
    {
481
703k
        return m_has_value;
482
703k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
113M
    {
481
113M
        return m_has_value;
482
113M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
93.5M
    {
481
93.5M
        return m_has_value;
482
93.5M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
4.56k
    {
481
4.56k
        return m_has_value;
482
4.56k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
72.5M
    {
481
72.5M
        return m_has_value;
482
72.5M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
5.62k
    {
481
5.62k
        return m_has_value;
482
5.62k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
1.05k
    {
481
1.05k
        return m_has_value;
482
1.05k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
812
    {
481
812
        return m_has_value;
482
812
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
812
    {
481
812
        return m_has_value;
482
812
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
6.64k
    {
481
6.64k
        return m_has_value;
482
6.64k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
6.79M
    {
481
6.79M
        return m_has_value;
482
6.79M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
1.33M
    {
481
1.33M
        return m_has_value;
482
1.33M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
708k
    {
481
708k
        return m_has_value;
482
708k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
708k
    {
481
708k
        return m_has_value;
482
708k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
620k
    {
481
620k
        return m_has_value;
482
620k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
240
    {
481
240
        return m_has_value;
482
240
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
622k
    {
481
622k
        return m_has_value;
482
622k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
634k
    {
481
634k
        return m_has_value;
482
634k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
607k
    {
481
607k
        return m_has_value;
482
607k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
806k
    {
481
806k
        return m_has_value;
482
806k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
690k
    {
481
690k
        return m_has_value;
482
690k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
822k
    {
481
822k
        return m_has_value;
482
822k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
698k
    {
481
698k
        return m_has_value;
482
698k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
9.91M
    {
481
9.91M
        return m_has_value;
482
9.91M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
636k
    {
481
636k
        return m_has_value;
482
636k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
609k
    {
481
609k
        return m_has_value;
482
609k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
806k
    {
481
806k
        return m_has_value;
482
806k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
693k
    {
481
693k
        return m_has_value;
482
693k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
822k
    {
481
822k
        return m_has_value;
482
822k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
701k
    {
481
701k
        return m_has_value;
482
701k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.9k
    {
481
82.9k
        return m_has_value;
482
82.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.7k
    {
481
82.7k
        return m_has_value;
482
82.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.1k
    {
481
83.1k
        return m_has_value;
482
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.8k
    {
481
82.8k
        return m_has_value;
482
82.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.4k
    {
481
83.4k
        return m_has_value;
482
83.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.1k
    {
481
83.1k
        return m_has_value;
482
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
46.2M
    {
481
46.2M
        return m_has_value;
482
46.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.9k
    {
481
82.9k
        return m_has_value;
482
82.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.7k
    {
481
82.7k
        return m_has_value;
482
82.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.1k
    {
481
83.1k
        return m_has_value;
482
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.8k
    {
481
82.8k
        return m_has_value;
482
82.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.4k
    {
481
83.4k
        return m_has_value;
482
83.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.1k
    {
481
83.1k
        return m_has_value;
482
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
325k
    {
481
325k
        return m_has_value;
482
325k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
44.6M
    {
481
44.6M
        return m_has_value;
482
44.6M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
1.53M
    {
481
1.53M
        return m_has_value;
482
1.53M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
1.66M
    {
481
1.66M
        return m_has_value;
482
1.66M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
1.68M
    {
481
1.68M
        return m_has_value;
482
1.68M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
1.55M
    {
481
1.55M
        return m_has_value;
482
1.55M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
1.67M
    {
481
1.67M
        return m_has_value;
482
1.67M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
1.69M
    {
481
1.69M
        return m_has_value;
482
1.69M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
124k
    {
481
124k
        return m_has_value;
482
124k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
124k
    {
481
124k
        return m_has_value;
482
124k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
125k
    {
481
125k
        return m_has_value;
482
125k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
124k
    {
481
124k
        return m_has_value;
482
124k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
124k
    {
481
124k
        return m_has_value;
482
124k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
124k
    {
481
124k
        return m_has_value;
482
124k
    }
483
484
    template <typename... Args>
485
    void construct(Args&&... args) noexcept(
486
        std::is_nothrow_constructible_v<T, Args...>)
487
    {
488
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
489
        m_has_value = true;
490
    }
491
    template <typename... Args>
492
    void construct_unexpected(Args&&... args) noexcept(
493
        std::is_nothrow_constructible_v<E, Args...>)
494
    {
495
        scn::detail::construct_at(&get_unexpected(),
496
                                  std::forward<Args>(args)...);
497
        m_has_value = false;
498
    }
499
500
    // No-op, because T and E are trivially destructible
501
    static constexpr void destroy_value() noexcept {}
502
    static constexpr void destroy_unexpected() noexcept {}
503
504
private:
505
    union {
506
        T m_value;
507
        unexpected<E> m_unexpected;
508
        char m_deferred_init;
509
    };
510
    bool m_has_value;
511
};
512
513
template <typename E>
514
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
515
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
516
517
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
518
        : m_deferred_init(), m_has_value(false)
519
    {
520
    }
521
522
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
523
        : m_has_value(true)
524
    {
525
    }
526
527
    template <typename... Args,
528
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
529
    explicit constexpr expected_storage_base(
530
        unexpect_t,
531
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
532
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
533
          m_has_value(false)
534
    {
535
    }
536
537
    constexpr unexpected<E>& get_unexpected() & noexcept
538
    {
539
        return m_unexpected;
540
    }
541
    constexpr const unexpected<E>& get_unexpected() const& noexcept
542
    {
543
        return m_unexpected;
544
    }
545
    constexpr unexpected<E>&& get_unexpected() && noexcept
546
    {
547
        return std::move(m_unexpected);
548
    }
549
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
550
    {
551
        return std::move(m_unexpected);
552
    }
553
554
    SCN_NODISCARD constexpr bool has_value() const noexcept
555
    {
556
        return m_has_value;
557
    }
558
559
    template <typename... Args>
560
    void construct(Args&&...) noexcept
561
    {
562
        m_has_value = true;
563
    }
564
    template <typename... Args>
565
    void construct_unexpected(Args&&... args) noexcept(
566
        std::is_nothrow_constructible_v<E, Args...>)
567
    {
568
        scn::detail::construct_at(&get_unexpected(),
569
                                  std::forward<Args>(args)...);
570
        m_has_value = false;
571
    }
572
573
    static constexpr void destroy_value() noexcept {}
574
    static constexpr void destroy_unexpected() noexcept {}
575
576
private:
577
    union {
578
        unexpected<E> m_unexpected;
579
        char m_deferred_init;
580
    };
581
    bool m_has_value;
582
};
583
584
/**
585
 * Implementation of `std::max` without including `<algorithm>`
586
 */
587
template <typename T>
588
constexpr T max(T a, T b) noexcept
589
0
{
590
0
    return (a < b) ? b : a;
591
0
}
592
593
template <typename T, typename E>
594
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
595
    constexpr expected_storage_base() noexcept : m_has_value(true)
596
    {
597
        construct();
598
    }
599
600
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
601
        : m_has_value(false)
602
    {
603
    }
604
605
    template <typename... Args,
606
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
607
    explicit constexpr expected_storage_base(
608
        std::in_place_t,
609
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
610
        : m_has_value(true)
611
45.5M
    {
612
45.5M
        construct(std::forward<Args>(args)...);
613
45.5M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
158k
    {
612
158k
        construct(std::forward<Args>(args)...);
613
158k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
611
788
    {
612
788
        construct(std::forward<Args>(args)...);
613
788
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
86
    {
612
86
        construct(std::forward<Args>(args)...);
613
86
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
611
22.2M
    {
612
22.2M
        construct(std::forward<Args>(args)...);
613
22.2M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
311k
    {
612
311k
        construct(std::forward<Args>(args)...);
613
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
309k
    {
612
309k
        construct(std::forward<Args>(args)...);
613
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
724
    {
612
724
        construct(std::forward<Args>(args)...);
613
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
724
    {
612
724
        construct(std::forward<Args>(args)...);
613
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
160k
    {
612
160k
        construct(std::forward<Args>(args)...);
613
160k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
611
22.2M
    {
612
22.2M
        construct(std::forward<Args>(args)...);
613
22.2M
    }
614
615
    template <typename... Args,
616
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
617
    explicit constexpr expected_storage_base(
618
        unexpect_t,
619
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
620
        : m_has_value(false)
621
227k
    {
622
227k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
227k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
19.0k
    {
622
19.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
19.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
8.48k
    {
622
8.48k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
8.48k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
18.4k
    {
622
18.4k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
18.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
39.6k
    {
622
39.6k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
39.6k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
8.86k
    {
622
8.86k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
8.86k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
16
    {
622
16
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
16
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
9.25k
    {
622
9.25k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
9.25k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
46.0k
    {
622
46.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
46.0k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
4
    {
622
4
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
4
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
46.0k
    {
622
46.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
46.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
10.5k
    {
622
10.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
10.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
21.1k
    {
622
21.1k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
21.1k
    }
624
625
    ~expected_storage_base()
626
45.7M
    {
627
45.7M
        if (has_value()) {
628
45.5M
            destroy_value();
629
45.5M
        }
630
227k
        else {
631
227k
            destroy_unexpected();
632
227k
        }
633
45.7M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
177k
    {
627
177k
        if (has_value()) {
628
158k
            destroy_value();
629
158k
        }
630
19.0k
        else {
631
19.0k
            destroy_unexpected();
632
19.0k
        }
633
177k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
9.27k
    {
627
9.27k
        if (has_value()) {
628
788
            destroy_value();
629
788
        }
630
8.48k
        else {
631
8.48k
            destroy_unexpected();
632
8.48k
        }
633
9.27k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
18.5k
    {
627
18.5k
        if (has_value()) {
628
86
            destroy_value();
629
86
        }
630
18.4k
        else {
631
18.4k
            destroy_unexpected();
632
18.4k
        }
633
18.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
22.3M
    {
627
22.3M
        if (has_value()) {
628
22.2M
            destroy_value();
629
22.2M
        }
630
39.6k
        else {
631
39.6k
            destroy_unexpected();
632
39.6k
        }
633
22.3M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
320k
    {
627
320k
        if (has_value()) {
628
311k
            destroy_value();
629
311k
        }
630
8.86k
        else {
631
8.86k
            destroy_unexpected();
632
8.86k
        }
633
320k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
16
    {
627
16
        if (has_value()) {
628
0
            destroy_value();
629
0
        }
630
16
        else {
631
16
            destroy_unexpected();
632
16
        }
633
16
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
319k
    {
627
319k
        if (has_value()) {
628
309k
            destroy_value();
629
309k
        }
630
9.25k
        else {
631
9.25k
            destroy_unexpected();
632
9.25k
        }
633
319k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
46.7k
    {
627
46.7k
        if (has_value()) {
628
724
            destroy_value();
629
724
        }
630
46.0k
        else {
631
46.0k
            destroy_unexpected();
632
46.0k
        }
633
46.7k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
4
    {
627
4
        if (has_value()) {
628
0
            destroy_value();
629
0
        }
630
4
        else {
631
4
            destroy_unexpected();
632
4
        }
633
4
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
46.7k
    {
627
46.7k
        if (has_value()) {
628
724
            destroy_value();
629
724
        }
630
46.0k
        else {
631
46.0k
            destroy_unexpected();
632
46.0k
        }
633
46.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
171k
    {
627
171k
        if (has_value()) {
628
160k
            destroy_value();
629
160k
        }
630
10.5k
        else {
631
10.5k
            destroy_unexpected();
632
10.5k
        }
633
171k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
22.3M
    {
627
22.3M
        if (has_value()) {
628
22.2M
            destroy_value();
629
22.2M
        }
630
21.1k
        else {
631
21.1k
            destroy_unexpected();
632
21.1k
        }
633
22.3M
    }
634
635
    constexpr T& get_value() & noexcept
636
45.5M
    {
637
45.5M
        return *value_ptr();
638
45.5M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
311k
    {
637
311k
        return *value_ptr();
638
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
309k
    {
637
309k
        return *value_ptr();
638
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
724
    {
637
724
        return *value_ptr();
638
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
724
    {
637
724
        return *value_ptr();
638
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
157k
    {
637
157k
        return *value_ptr();
638
157k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
160k
    {
637
160k
        return *value_ptr();
638
160k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
22.2M
    {
637
22.2M
        return *value_ptr();
638
22.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
22.2M
    {
637
22.2M
        return *value_ptr();
638
22.2M
    }
639
    constexpr const T& get_value() const& noexcept
640
    {
641
        return *value_ptr();
642
    }
643
    constexpr T&& get_value() && noexcept
644
    {
645
        return std::move(*value_ptr());
646
    }
647
    constexpr const T&& get_value() const&& noexcept
648
    {
649
        return std::move(*value_ptr());
650
    }
651
652
    constexpr unexpected<E>& get_unexpected() & noexcept
653
110k
    {
654
110k
        return *unexpected_ptr();
655
110k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
8.86k
    {
654
8.86k
        return *unexpected_ptr();
655
8.86k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
16
    {
654
16
        return *unexpected_ptr();
655
16
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
9.25k
    {
654
9.25k
        return *unexpected_ptr();
655
9.25k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
46.0k
    {
654
46.0k
        return *unexpected_ptr();
655
46.0k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
4
    {
654
4
        return *unexpected_ptr();
655
4
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
46.0k
    {
654
46.0k
        return *unexpected_ptr();
655
46.0k
    }
656
    constexpr const unexpected<E>& get_unexpected() const& noexcept
657
    {
658
        return *unexpected_ptr();
659
    }
660
    constexpr unexpected<E>&& get_unexpected() && noexcept
661
    {
662
        return std::move(*unexpected_ptr());
663
    }
664
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
665
    {
666
        return std::move(*unexpected_ptr());
667
    }
668
669
    SCN_NODISCARD constexpr bool has_value() const noexcept
670
137M
    {
671
137M
        return m_has_value;
672
137M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
502k
    {
671
502k
        return m_has_value;
672
502k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
9.27k
    {
671
9.27k
        return m_has_value;
672
9.27k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
18.5k
    {
671
18.5k
        return m_has_value;
672
18.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
66.9M
    {
671
66.9M
        return m_has_value;
672
66.9M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
960k
    {
671
960k
        return m_has_value;
672
960k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
48
    {
671
48
        return m_has_value;
672
48
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
957k
    {
671
957k
        return m_has_value;
672
957k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
140k
    {
671
140k
        return m_has_value;
672
140k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
12
    {
671
12
        return m_has_value;
672
12
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
140k
    {
671
140k
        return m_has_value;
672
140k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
503k
    {
671
503k
        return m_has_value;
672
503k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
66.9M
    {
671
66.9M
        return m_has_value;
672
66.9M
    }
673
674
    template <typename... Args>
675
    void construct(Args&&... args) noexcept(
676
        std::is_nothrow_constructible_v<T, Args...>)
677
45.5M
    {
678
45.5M
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
45.5M
        m_has_value = true;
680
45.5M
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
158k
    {
678
158k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
158k
        m_has_value = true;
680
158k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
677
788
    {
678
788
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
788
        m_has_value = true;
680
788
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
86
    {
678
86
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
86
        m_has_value = true;
680
86
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
677
22.2M
    {
678
22.2M
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
22.2M
        m_has_value = true;
680
22.2M
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
311k
    {
678
311k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
311k
        m_has_value = true;
680
311k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
309k
    {
678
309k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
309k
        m_has_value = true;
680
309k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
724
    {
678
724
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
724
        m_has_value = true;
680
724
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
724
    {
678
724
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
724
        m_has_value = true;
680
724
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
160k
    {
678
160k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
160k
        m_has_value = true;
680
160k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
677
22.2M
    {
678
22.2M
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
22.2M
        m_has_value = true;
680
22.2M
    }
681
    template <typename... Args>
682
    void construct_unexpected(Args&&... args) noexcept(
683
        std::is_nothrow_constructible_v<E, Args...>)
684
227k
    {
685
227k
        scn::detail::construct_at(unexpected_ptr(),
686
227k
                                  std::forward<Args>(args)...);
687
227k
        m_has_value = false;
688
227k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
19.0k
    {
685
19.0k
        scn::detail::construct_at(unexpected_ptr(),
686
19.0k
                                  std::forward<Args>(args)...);
687
19.0k
        m_has_value = false;
688
19.0k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
8.48k
    {
685
8.48k
        scn::detail::construct_at(unexpected_ptr(),
686
8.48k
                                  std::forward<Args>(args)...);
687
8.48k
        m_has_value = false;
688
8.48k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
18.4k
    {
685
18.4k
        scn::detail::construct_at(unexpected_ptr(),
686
18.4k
                                  std::forward<Args>(args)...);
687
18.4k
        m_has_value = false;
688
18.4k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
39.6k
    {
685
39.6k
        scn::detail::construct_at(unexpected_ptr(),
686
39.6k
                                  std::forward<Args>(args)...);
687
39.6k
        m_has_value = false;
688
39.6k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
8.86k
    {
685
8.86k
        scn::detail::construct_at(unexpected_ptr(),
686
8.86k
                                  std::forward<Args>(args)...);
687
8.86k
        m_has_value = false;
688
8.86k
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
16
    {
685
16
        scn::detail::construct_at(unexpected_ptr(),
686
16
                                  std::forward<Args>(args)...);
687
16
        m_has_value = false;
688
16
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
9.25k
    {
685
9.25k
        scn::detail::construct_at(unexpected_ptr(),
686
9.25k
                                  std::forward<Args>(args)...);
687
9.25k
        m_has_value = false;
688
9.25k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
46.0k
    {
685
46.0k
        scn::detail::construct_at(unexpected_ptr(),
686
46.0k
                                  std::forward<Args>(args)...);
687
46.0k
        m_has_value = false;
688
46.0k
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
4
    {
685
4
        scn::detail::construct_at(unexpected_ptr(),
686
4
                                  std::forward<Args>(args)...);
687
4
        m_has_value = false;
688
4
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
46.0k
    {
685
46.0k
        scn::detail::construct_at(unexpected_ptr(),
686
46.0k
                                  std::forward<Args>(args)...);
687
46.0k
        m_has_value = false;
688
46.0k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
10.5k
    {
685
10.5k
        scn::detail::construct_at(unexpected_ptr(),
686
10.5k
                                  std::forward<Args>(args)...);
687
10.5k
        m_has_value = false;
688
10.5k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
21.1k
    {
685
21.1k
        scn::detail::construct_at(unexpected_ptr(),
686
21.1k
                                  std::forward<Args>(args)...);
687
21.1k
        m_has_value = false;
688
21.1k
    }
689
690
    void destroy_value() noexcept
691
45.5M
    {
692
45.5M
        scn::detail::destroy_at(value_ptr());
693
45.5M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
158k
    {
692
158k
        scn::detail::destroy_at(value_ptr());
693
158k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
788
    {
692
788
        scn::detail::destroy_at(value_ptr());
693
788
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
86
    {
692
86
        scn::detail::destroy_at(value_ptr());
693
86
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
22.2M
    {
692
22.2M
        scn::detail::destroy_at(value_ptr());
693
22.2M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
311k
    {
692
311k
        scn::detail::destroy_at(value_ptr());
693
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
309k
    {
692
309k
        scn::detail::destroy_at(value_ptr());
693
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
724
    {
692
724
        scn::detail::destroy_at(value_ptr());
693
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
724
    {
692
724
        scn::detail::destroy_at(value_ptr());
693
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
160k
    {
692
160k
        scn::detail::destroy_at(value_ptr());
693
160k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
22.2M
    {
692
22.2M
        scn::detail::destroy_at(value_ptr());
693
22.2M
    }
694
    void destroy_unexpected() noexcept
695
227k
    {
696
227k
        scn::detail::destroy_at(unexpected_ptr());
697
227k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
19.0k
    {
696
19.0k
        scn::detail::destroy_at(unexpected_ptr());
697
19.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
8.48k
    {
696
8.48k
        scn::detail::destroy_at(unexpected_ptr());
697
8.48k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
18.4k
    {
696
18.4k
        scn::detail::destroy_at(unexpected_ptr());
697
18.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
39.6k
    {
696
39.6k
        scn::detail::destroy_at(unexpected_ptr());
697
39.6k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
8.86k
    {
696
8.86k
        scn::detail::destroy_at(unexpected_ptr());
697
8.86k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
16
    {
696
16
        scn::detail::destroy_at(unexpected_ptr());
697
16
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
9.25k
    {
696
9.25k
        scn::detail::destroy_at(unexpected_ptr());
697
9.25k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
46.0k
    {
696
46.0k
        scn::detail::destroy_at(unexpected_ptr());
697
46.0k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
4
    {
696
4
        scn::detail::destroy_at(unexpected_ptr());
697
4
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
46.0k
    {
696
46.0k
        scn::detail::destroy_at(unexpected_ptr());
697
46.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
10.5k
    {
696
10.5k
        scn::detail::destroy_at(unexpected_ptr());
697
10.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
21.1k
    {
696
21.1k
        scn::detail::destroy_at(unexpected_ptr());
697
21.1k
    }
698
699
private:
700
    T* value_ptr() noexcept
701
136M
    {
702
136M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
136M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
473k
    {
702
473k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
473k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
1.57k
    {
702
1.57k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
1.57k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
172
    {
702
172
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
172
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
66.8M
    {
702
66.8M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
66.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
934k
    {
702
934k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
934k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
929k
    {
702
929k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
929k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
2.17k
    {
702
2.17k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
2.17k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
2.17k
    {
702
2.17k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
2.17k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
482k
    {
702
482k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
482k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
66.8M
    {
702
66.8M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
66.8M
    }
704
    const T* value_ptr() const noexcept
705
    {
706
        return reinterpret_cast<const T*>(
707
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
708
    }
709
710
    SCN_GCC_PUSH
711
    SCN_GCC_IGNORE("-Wcast-align")
712
    unexpected<E>* unexpected_ptr() noexcept
713
565k
    {
714
565k
        return reinterpret_cast<unexpected<E>*>(
715
565k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
565k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
38.1k
    {
714
38.1k
        return reinterpret_cast<unexpected<E>*>(
715
38.1k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
38.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
16.9k
    {
714
16.9k
        return reinterpret_cast<unexpected<E>*>(
715
16.9k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
16.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
36.9k
    {
714
36.9k
        return reinterpret_cast<unexpected<E>*>(
715
36.9k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
36.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
79.2k
    {
714
79.2k
        return reinterpret_cast<unexpected<E>*>(
715
79.2k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
79.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
26.5k
    {
714
26.5k
        return reinterpret_cast<unexpected<E>*>(
715
26.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
26.5k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
48
    {
714
48
        return reinterpret_cast<unexpected<E>*>(
715
48
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
48
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
27.7k
    {
714
27.7k
        return reinterpret_cast<unexpected<E>*>(
715
27.7k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
27.7k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
138k
    {
714
138k
        return reinterpret_cast<unexpected<E>*>(
715
138k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
138k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
12
    {
714
12
        return reinterpret_cast<unexpected<E>*>(
715
12
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
12
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
138k
    {
714
138k
        return reinterpret_cast<unexpected<E>*>(
715
138k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
138k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
21.1k
    {
714
21.1k
        return reinterpret_cast<unexpected<E>*>(
715
21.1k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
21.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
42.2k
    {
714
42.2k
        return reinterpret_cast<unexpected<E>*>(
715
42.2k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
42.2k
    }
717
    const unexpected<E>* unexpected_ptr() const noexcept
718
    {
719
        return reinterpret_cast<const unexpected<E>*>(
720
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
721
    }
722
    SCN_GCC_POP
723
724
    static constexpr std::size_t required_size =
725
        detail::max(sizeof(T), sizeof(unexpected<E>));
726
    static constexpr std::size_t required_alignment =
727
        detail::max(alignof(T), alignof(unexpected<E>));
728
729
    alignas(required_alignment) unsigned char m_memory[required_size];
730
    bool m_has_value;
731
};
732
733
template <typename E>
734
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
735
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
736
737
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
738
        : m_has_value(false)
739
    {
740
    }
741
742
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
743
        : m_has_value(true)
744
    {
745
    }
746
747
    template <typename... Args,
748
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
749
    explicit constexpr expected_storage_base(
750
        unexpect_t,
751
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
752
        : m_has_value(false)
753
    {
754
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
755
    }
756
757
    ~expected_storage_base()
758
    {
759
        if (!has_value()) {
760
            destroy_unexpected();
761
        }
762
    }
763
764
    constexpr unexpected<E>& get_unexpected() & noexcept
765
    {
766
        return *unexpected_ptr();
767
    }
768
    constexpr const unexpected<E>& get_unexpected() const& noexcept
769
    {
770
        return *unexpected_ptr();
771
    }
772
    constexpr unexpected<E>&& get_unexpected() && noexcept
773
    {
774
        return std::move(*unexpected_ptr());
775
    }
776
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
777
    {
778
        return std::move(*unexpected_ptr());
779
    }
780
781
    SCN_NODISCARD constexpr bool has_value() const noexcept
782
    {
783
        return m_has_value;
784
    }
785
786
    template <typename... Args>
787
    constexpr void construct(Args&&...) noexcept
788
    {
789
        m_has_value = true;
790
    }
791
    template <typename... Args>
792
    void construct_unexpected(Args&&... args) noexcept(
793
        std::is_nothrow_constructible_v<E, Args...>)
794
    {
795
        scn::detail::construct_at(unexpected_ptr(),
796
                                  std::forward<Args>(args)...);
797
        m_has_value = false;
798
    }
799
800
    static constexpr void destroy_value() noexcept {}
801
    void destroy_unexpected() noexcept
802
    {
803
        scn::detail::destroy_at(unexpected_ptr());
804
    }
805
806
private:
807
    SCN_GCC_PUSH
808
    SCN_GCC_IGNORE("-Wcast-align")
809
    unexpected<E>* unexpected_ptr()
810
    {
811
        return reinterpret_cast<unexpected<E>*>(m_memory);
812
    }
813
    const unexpected<E>* unexpected_ptr() const
814
    {
815
        return reinterpret_cast<const unexpected<E>*>(m_memory);
816
    }
817
    SCN_GCC_POP
818
819
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
820
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
821
822
    alignas(required_alignment) unsigned char m_memory[required_size];
823
    bool m_has_value;
824
};
825
826
template <typename T, typename U>
827
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
828
829
template <typename T,
830
          typename E,
831
          bool IsTriviallyCopyable =
832
              std::conjunction_v<std::is_trivially_copyable<T>,
833
                                 std::is_trivially_copyable<E>>>
834
struct expected_operations_base;
835
836
template <typename T, typename E>
837
struct SCN_TRIVIAL_ABI expected_operations_base<T, E, true>
838
    : expected_storage_base<T, E> {
839
    using expected_storage_base<T, E>::expected_storage_base;
840
};
841
842
template <typename T, typename E>
843
struct SCN_TRIVIAL_ABI expected_operations_base<T, E, false>
844
    : expected_storage_base<T, E> {
845
    using expected_storage_base<T, E>::expected_storage_base;
846
847
    expected_operations_base(const expected_operations_base& other) noexcept(
848
        std::is_nothrow_copy_constructible_v<T> &&
849
        std::is_nothrow_copy_constructible_v<E>)
850
        : expected_storage_base<T, E>(deferred_init_tag)
851
    {
852
        construct_common(other);
853
    }
854
    expected_operations_base(expected_operations_base&& other) noexcept(
855
        std::is_nothrow_move_constructible_v<T> &&
856
        std::is_nothrow_move_constructible_v<E>)
857
        : expected_storage_base<T, E>(deferred_init_tag)
858
    {
859
        construct_common(std::move(other));
860
    }
861
862
    expected_operations_base& operator=(const expected_operations_base& other)
863
    // gcc 11 and lower evaluate noexcept in a weird context
864
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
865
        noexcept(noexcept(
866
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
867
#else
868
        noexcept(noexcept(assign_common(other)))
869
#endif
870
    {
871
        assign_common(other);
872
        return *this;
873
    }
874
    expected_operations_base& operator=(expected_operations_base&& other)
875
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
876
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
877
                              .assign_common(std::move(other))))
878
#else
879
        noexcept(noexcept(assign_common(std::move(other))))
880
#endif
881
    {
882
        assign_common(std::move(other));
883
        return *this;
884
    }
885
886
    ~expected_operations_base() = default;
887
888
private:
889
    template <typename Other>
890
    void construct_common(Other&& other) noexcept(
891
        noexcept(expected_storage_base<T, E>::construct(
892
            std::forward<Other>(other).get_value())) &&
893
        noexcept(expected_storage_base<T, E>::construct_unexpected(
894
            std::forward<Other>(other).get_unexpected())))
895
    {
896
        if (other.has_value()) {
897
            this->construct(std::forward<Other>(other).get_value());
898
        }
899
        else {
900
            this->construct_unexpected(
901
                std::forward<Other>(other).get_unexpected());
902
        }
903
    }
904
905
    template <typename Other>
906
    void assign_common(Other&& other)
907
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
908
        noexcept(
909
            noexcept(SCN_DECLVAL(expected_operations_base&)
910
                         .reassign_value(std::forward<Other>(other))) &&
911
            noexcept(SCN_DECLVAL(expected_operations_base&)
912
                         .reassign_unexpected(std::forward<Other>(other))) &&
913
            noexcept(SCN_DECLVAL(expected_operations_base&)
914
                         .assign_value_over_unexpected(
915
                             std::forward<Other>(other))) &&
916
            noexcept(
917
                SCN_DECLVAL(expected_operations_base&)
918
                    .assign_unexpected_over_value(std::forward<Other>(other))))
919
#else
920
        noexcept(
921
            noexcept(reassign_value(std::forward<Other>(other))) &&
922
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
923
            noexcept(
924
                assign_value_over_unexpected(std::forward<Other>(other))) &&
925
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
926
#endif
927
    {
928
        if (this->has_value()) {
929
            if (other.has_value()) {
930
                return reassign_value(std::forward<Other>(other));
931
            }
932
            return assign_unexpected_over_value(std::forward<Other>(other));
933
        }
934
935
        if (other.has_value()) {
936
            return assign_value_over_unexpected(std::forward<Other>(other));
937
        }
938
        return reassign_unexpected(std::forward<Other>(other));
939
    }
940
941
    template <typename Other>
942
    void reassign_value(Other&& other) noexcept(
943
        std::is_nothrow_assignable_v<
944
            T,
945
            decltype(std::forward<Other>(other).get_value())>)
946
    {
947
        this->get_value() = std::forward<Other>(other).get_value();
948
    }
949
950
    template <typename Other>
951
    void reassign_unexpected(Other&& other) noexcept(
952
        std::is_nothrow_assignable_v<
953
            E,
954
            decltype(std::forward<Other>(other).get_unexpected())>)
955
    {
956
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
957
    }
958
959
#if SCN_HAS_EXCEPTIONS
960
    void assign_value_over_unexpected(
961
        const expected_operations_base&
962
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
963
                            std::is_nothrow_move_constructible_v<T>)
964
    {
965
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
966
            this->destroy_unexpected();
967
            this->construct(other.get_value());
968
        }
969
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
970
            T tmp = other.get_value();
971
            this->destroy_unexpected();
972
            this->construct(std::move(tmp));
973
        }
974
        else {
975
            auto tmp = std::move(this->get_unexpecetd());
976
            this->destroy_unexpected();
977
978
            try {
979
                this->construct(other.get());
980
            }
981
            catch (...) {
982
                this->construct_unexpected(std::move(tmp));
983
                throw;
984
            }
985
        }
986
    }
987
988
    void
989
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
990
        std::is_nothrow_move_constructible_v<T>)
991
    {
992
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
993
            this->destroy_unexpected();
994
            this->construct(std::move(other).get_value());
995
        }
996
        else {
997
            auto tmp = std::move(this->get_unexpected());
998
            this->destroy_unexpected();
999
1000
            try {
1001
                this->construct(std::move(other).get_value());
1002
            }
1003
            catch (...) {
1004
                this->construct_unexpected(std::move(tmp));
1005
                throw;
1006
            }
1007
        }
1008
    }
1009
#else
1010
    template <typename Other>
1011
    void assing_value_over_unexpected(Other&& other) noexcept
1012
    {
1013
        this->destroy_unexpected();
1014
        this->construct_value(std::forward<Other>(other).get_value());
1015
    }
1016
#endif
1017
1018
    template <typename Other>
1019
    void assign_unexpected_over_value(Other&& other) noexcept(
1020
        std::is_nothrow_constructible_v<
1021
            E,
1022
            decltype(std::forward<Other>(other).get_unexpected())>)
1023
    {
1024
        this->destroy_value();
1025
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1026
    }
1027
};
1028
1029
/*
1030
 * Base class trickery to conditionally mark copy and move
1031
 * constructors of an expected as =deleted.
1032
 *
1033
 * We need to do this, because otherwise utilities like
1034
 * std::is_copy_constructible wouldn't work for expected: the
1035
 * constructors need to be explicitly =deleted, not just cause a
1036
 * compiler error when trying to copy a value of a non-copyable
1037
 * type.
1038
 *
1039
 * Rationale for doing this with base classes is above.
1040
 */
1041
template <typename T,
1042
          typename E,
1043
          bool EnableCopy = (std::is_copy_constructible_v<T> &&
1044
                             std::is_copy_constructible_v<E>),
1045
          bool EnableMove = (std::is_move_constructible_v<T> &&
1046
                             std::is_move_constructible_v<E>)>
1047
struct expected_delete_ctor_base;
1048
1049
// Implementation for types that are both copy and move
1050
// constructible: Copy and move constructors are =defaulted
1051
template <typename T, typename E>
1052
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1053
    expected_delete_ctor_base() = default;
1054
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1055
        default;
1056
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1057
    ~expected_delete_ctor_base() = default;
1058
1059
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1060
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1061
};
1062
1063
// Implementation for types that are neither copy nor move
1064
// constructible: Copy and move constructors are =deleted
1065
template <typename T, typename E>
1066
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1067
    expected_delete_ctor_base() = default;
1068
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1069
        default;
1070
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1071
    ~expected_delete_ctor_base() = default;
1072
1073
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1074
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1075
};
1076
1077
// Implementation for types that are move constructible, but not
1078
// copy constructible Copy constructor is =deleted, but move
1079
// constructor is =defaulted
1080
template <typename T, typename E>
1081
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1082
    expected_delete_ctor_base() = default;
1083
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1084
        default;
1085
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1086
    ~expected_delete_ctor_base() = default;
1087
1088
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1089
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1090
};
1091
1092
template <typename T, typename E>
1093
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1094
    static_assert(dependent_false<T>::value,
1095
                  "Nonsensical type: copy constructible, but not move "
1096
                  "constructible");
1097
};
1098
1099
// Same as above, but for assignment
1100
template <
1101
    typename T,
1102
    typename E,
1103
    bool EnableCopy =
1104
        (std::is_copy_constructible_v<T> && std::is_copy_constructible_v<E> &&
1105
         std::is_copy_assignable_v<T> && std::is_copy_assignable_v<E>),
1106
    bool EnableMove =
1107
        (std::is_move_constructible_v<T> && std::is_move_constructible_v<E> &&
1108
         std::is_move_assignable_v<T> && std::is_move_assignable_v<E>)>
1109
struct expected_delete_assign_base;
1110
1111
template <typename T, typename E>
1112
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1113
    expected_delete_assign_base() = default;
1114
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1115
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1116
    ~expected_delete_assign_base() = default;
1117
1118
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1119
        default;
1120
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1121
        default;
1122
};
1123
1124
template <typename T, typename E>
1125
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1126
    expected_delete_assign_base() = default;
1127
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1128
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1129
    ~expected_delete_assign_base() = default;
1130
1131
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1132
        delete;
1133
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1134
        delete;
1135
};
1136
1137
template <typename T, typename E>
1138
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1139
    expected_delete_assign_base() = default;
1140
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1141
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1142
    ~expected_delete_assign_base() = default;
1143
1144
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1145
        delete;
1146
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1147
        default;
1148
};
1149
1150
template <typename T, typename E>
1151
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1152
    static_assert(dependent_false<T>::value,
1153
                  "Nonsensical type: copy assignable, but not move "
1154
                  "assignable");
1155
};
1156
1157
struct non_default_ctor_tag_t {};
1158
1159
/*
1160
 * Same as above, but for the default constructor
1161
 *
1162
 * The constructor taking a non_default_ctor_tag_t is needed, to
1163
 * signal that we're not default constructing.
1164
 */
1165
template <typename T,
1166
          typename E,
1167
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1168
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1169
    constexpr expected_default_ctor_base() = default;
1170
    constexpr explicit expected_default_ctor_base(
1171
        non_default_ctor_tag_t) noexcept
1172
732M
    {
1173
732M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
5.17M
    {
1173
5.17M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
9.27k
    {
1173
9.27k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
432k
    {
1173
432k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
374k
    {
1173
374k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
861k
    {
1173
861k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
9.27k
    {
1173
9.27k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
9.27k
    {
1173
9.27k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
177k
    {
1173
177k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
9.27k
    {
1173
9.27k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
177k
    {
1173
177k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
45.6M
    {
1173
45.6M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
18.5k
    {
1173
18.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
100k
    {
1173
100k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
100k
    {
1173
100k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
122k
    {
1173
122k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
18.5k
    {
1173
18.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
18.5k
    {
1173
18.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
18.5k
    {
1173
18.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
22.3M
    {
1173
22.3M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
22.3M
    {
1173
22.3M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
22.4M
    {
1173
22.4M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
56.6M
    {
1173
56.6M
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
29.3M
    {
1173
29.3M
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
110M
    {
1173
110M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
23.5M
    {
1173
23.5M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
6.89M
    {
1173
6.89M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
36.9M
    {
1173
36.9M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
4.90M
    {
1173
4.90M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
2.16M
    {
1173
2.16M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
2.16M
    {
1173
2.16M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
320k
    {
1173
320k
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
11.4M
    {
1173
11.4M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
5.65k
    {
1173
5.65k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
8.68k
    {
1173
8.68k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
6.89M
    {
1173
6.89M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
5.94k
    {
1173
5.94k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
992
    {
1173
992
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
754
    {
1173
754
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
754
    {
1173
754
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
16
    {
1173
16
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
19.4M
    {
1173
19.4M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
4.72M
    {
1173
4.72M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
2.16M
    {
1173
2.16M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
2.16M
    {
1173
2.16M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
319k
    {
1173
319k
    }
scn::v3::detail::expected_default_ctor_base<long, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
89.0M
    {
1173
89.0M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
2.49M
    {
1173
2.49M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
238
    {
1173
238
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
2.47M
    {
1173
2.47M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
13.9k
    {
1173
13.9k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
24.9M
    {
1173
24.9M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
18.4M
    {
1173
18.4M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
4.10M
    {
1173
4.10M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
664k
    {
1173
664k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
351k
    {
1173
351k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
351k
    {
1173
351k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
46.7k
    {
1173
46.7k
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
47.1M
    {
1173
47.1M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
2.70k
    {
1173
2.70k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
3.32k
    {
1173
3.32k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
36.2M
    {
1173
36.2M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
3.16k
    {
1173
3.16k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
526
    {
1173
526
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
406
    {
1173
406
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
406
    {
1173
406
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
4
    {
1173
4
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
3.52M
    {
1173
3.52M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
666k
    {
1173
666k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
354k
    {
1173
354k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
354k
    {
1173
354k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
46.7k
    {
1173
46.7k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
310k
    {
1173
310k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
120
    {
1173
120
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
311k
    {
1173
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<wchar_t, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
337k
    {
1173
337k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
324k
    {
1173
324k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
431k
    {
1173
431k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
369k
    {
1173
369k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
4.95M
    {
1173
4.95M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
338k
    {
1173
338k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
325k
    {
1173
325k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
423k
    {
1173
423k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
367k
    {
1173
367k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
431k
    {
1173
431k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
371k
    {
1173
371k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.3k
    {
1173
82.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.2k
    {
1173
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.5k
    {
1173
82.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.4k
    {
1173
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
23.1M
    {
1173
23.1M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.3k
    {
1173
82.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.2k
    {
1173
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.4k
    {
1173
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.2k
    {
1173
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.5k
    {
1173
82.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
82.4k
    {
1173
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
171k
    {
1173
171k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
22.3M
    {
1173
22.3M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
788k
    {
1173
788k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
863k
    {
1173
863k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
796k
    {
1173
796k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
860k
    {
1173
860k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
870k
    {
1173
870k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
103k
    {
1173
103k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
104k
    {
1173
104k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
103k
    {
1173
103k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
104k
    {
1173
104k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1172
104k
    {
1173
104k
    }
1174
};
1175
template <typename T, typename E>
1176
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1177
    constexpr expected_default_ctor_base() = delete;
1178
    constexpr explicit expected_default_ctor_base(
1179
        non_default_ctor_tag_t) noexcept
1180
    {
1181
    }
1182
};
1183
1184
template <typename T>
1185
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1186
1187
template <typename T>
1188
struct is_expected_impl : std::false_type {};
1189
template <typename T, typename E>
1190
struct is_expected_impl<expected<T, E>> : std::true_type {};
1191
template <typename T>
1192
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1193
1194
template <typename Exp>
1195
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1196
1197
template <typename Exp>
1198
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1199
1200
template <
1201
    typename F,
1202
    typename... Args,
1203
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1204
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1205
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1206
6.53M
{
1207
6.53M
    return std::forward<F>(f)(std::forward<Args>(args)...);
1208
6.53M
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&)
Line
Count
Source
1206
133k
{
1207
133k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1208
133k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&)
Line
Count
Source
1206
229k
{
1207
229k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1208
229k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&&)
Line
Count
Source
1206
382k
{
1207
382k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1208
382k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&)
Line
Count
Source
1206
5.78M
{
1207
5.78M
    return std::forward<F>(f)(std::forward<Args>(args)...);
1208
5.78M
}
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error const&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error const&)
1209
1210
// and_then
1211
1212
template <typename Exp,
1213
          typename F,
1214
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1215
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1216
                                                 *SCN_DECLVAL(Exp)))>
1217
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1218
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1219
    std::is_nothrow_constructible_v<Ret,
1220
                                    unexpect_t,
1221
                                    decltype(std::forward<Exp>(exp).error())>)
1222
{
1223
    static_assert(is_expected<Ret>::value, "F must return an expected");
1224
1225
    return SCN_LIKELY(exp.has_value())
1226
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1227
               : Ret(unexpect, std::forward<Exp>(exp).error());
1228
}
1229
template <typename Exp,
1230
          typename F,
1231
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1232
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1233
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1234
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1235
    std::is_nothrow_constructible_v<Ret,
1236
                                    unexpect_t,
1237
                                    decltype(std::forward<Exp>(exp).error())>)
1238
{
1239
    static_assert(is_expected<Ret>::value, "F must return an expected");
1240
1241
    return SCN_LIKELY(exp.has_value())
1242
               ? trivial_invoke(std::forward<F>(f))
1243
               : Ret(unexpect, std::forward<Exp>(exp).error());
1244
}
1245
1246
// or_else
1247
1248
template <typename Exp,
1249
          typename F,
1250
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1251
                                                 SCN_DECLVAL(Exp).error()))>
1252
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1253
    noexcept(trivial_invoke(std::forward<F>(f),
1254
                            std::forward<Exp>(exp).error())) &&
1255
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1256
{
1257
    static_assert(is_expected<Ret>::value, "F must return an expected");
1258
1259
    return SCN_LIKELY(exp.has_value())
1260
               ? Ret(std::forward<Exp>(exp))
1261
               : trivial_invoke(std::forward<F>(f),
1262
                                std::forward<Exp>(exp).error());
1263
}
1264
1265
// transform
1266
1267
template <typename Exp,
1268
          typename F,
1269
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1270
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1271
                                                 *SCN_DECLVAL(Exp)))>
1272
constexpr auto transform_impl(Exp&& exp, F&& f)
1273
{
1274
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1275
    if constexpr (std::is_void_v<Ret>) {
1276
        if (SCN_LIKELY(exp.has_value())) {
1277
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1278
            return result();
1279
        }
1280
        return result(unexpect, std::forward<Exp>(exp).error());
1281
    }
1282
    else {
1283
        return SCN_LIKELY(exp.has_value())
1284
                   ? result(trivial_invoke(std::forward<F>(f),
1285
                                           *std::forward<Exp>(exp)))
1286
                   : result(unexpect, std::forward<Exp>(exp).error());
1287
    }
1288
}
1289
template <typename Exp,
1290
          typename F,
1291
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1292
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1293
constexpr auto transform_impl(Exp&& exp, F&& f)
1294
{
1295
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1296
    if constexpr (std::is_void_v<Ret>) {
1297
        if (SCN_LIKELY(exp.has_value())) {
1298
            trivial_invoke(std::forward<F>(f));
1299
            return result();
1300
        }
1301
        return result(unexpect, std::forward<Exp>(exp).error());
1302
    }
1303
    else {
1304
        return SCN_LIKELY(exp.has_value())
1305
                   ? result(trivial_invoke(std::forward<F>(f)))
1306
                   : result(unexpect, std::forward<Exp>(exp).error());
1307
    }
1308
}
1309
1310
// transform_error
1311
1312
template <typename Exp,
1313
          typename F,
1314
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1315
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1316
                                                 SCN_DECLVAL(Exp).error()))>
1317
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1318
107M
{
1319
107M
    if constexpr (std::is_void_v<Ret>) {
1320
107M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
107M
        if (SCN_LIKELY(exp.has_value())) {
1322
107M
            return result(*std::forward<Exp>(exp));
1323
107M
        }
1324
1325
107M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
107M
        return result(unexpect, monostate{});
1327
107M
    }
1328
107M
    else {
1329
107M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
107M
        return SCN_LIKELY(exp.has_value())
1331
107M
                   ? result(*std::forward<Exp>(exp))
1332
107M
                   : result(unexpect,
1333
6.53M
                            trivial_invoke(std::forward<F>(f),
1334
6.53M
                                           std::forward<Exp>(exp).error()));
1335
107M
    }
1336
107M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
4.87M
{
1319
4.87M
    if constexpr (std::is_void_v<Ret>) {
1320
4.87M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
4.87M
        if (SCN_LIKELY(exp.has_value())) {
1322
4.87M
            return result(*std::forward<Exp>(exp));
1323
4.87M
        }
1324
1325
4.87M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
4.87M
        return result(unexpect, monostate{});
1327
4.87M
    }
1328
4.87M
    else {
1329
4.87M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
4.87M
        return SCN_LIKELY(exp.has_value())
1331
4.87M
                   ? result(*std::forward<Exp>(exp))
1332
4.87M
                   : result(unexpect,
1333
56.0k
                            trivial_invoke(std::forward<F>(f),
1334
56.0k
                                           std::forward<Exp>(exp).error()));
1335
4.87M
    }
1336
4.87M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
22.9M
{
1319
22.9M
    if constexpr (std::is_void_v<Ret>) {
1320
22.9M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
22.9M
        if (SCN_LIKELY(exp.has_value())) {
1322
22.9M
            return result(*std::forward<Exp>(exp));
1323
22.9M
        }
1324
1325
22.9M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
22.9M
        return result(unexpect, monostate{});
1327
22.9M
    }
1328
22.9M
    else {
1329
22.9M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
22.9M
        return SCN_LIKELY(exp.has_value())
1331
22.9M
                   ? result(*std::forward<Exp>(exp))
1332
22.9M
                   : result(unexpect,
1333
9.10k
                            trivial_invoke(std::forward<F>(f),
1334
9.10k
                                           std::forward<Exp>(exp).error()));
1335
22.9M
    }
1336
22.9M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
5.01M
{
1319
5.01M
    if constexpr (std::is_void_v<Ret>) {
1320
5.01M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
5.01M
        if (SCN_LIKELY(exp.has_value())) {
1322
5.01M
            return result(*std::forward<Exp>(exp));
1323
5.01M
        }
1324
1325
5.01M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
5.01M
        return result(unexpect, monostate{});
1327
5.01M
    }
1328
5.01M
    else {
1329
5.01M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
5.01M
        return SCN_LIKELY(exp.has_value())
1331
5.01M
                   ? result(*std::forward<Exp>(exp))
1332
5.01M
                   : result(unexpect,
1333
54.0k
                            trivial_invoke(std::forward<F>(f),
1334
54.0k
                                           std::forward<Exp>(exp).error()));
1335
5.01M
    }
1336
5.01M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
8.65M
{
1319
8.65M
    if constexpr (std::is_void_v<Ret>) {
1320
8.65M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
8.65M
        if (SCN_LIKELY(exp.has_value())) {
1322
8.65M
            return result(*std::forward<Exp>(exp));
1323
8.65M
        }
1324
1325
8.65M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
8.65M
        return result(unexpect, monostate{});
1327
8.65M
    }
1328
8.65M
    else {
1329
8.65M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
8.65M
        return SCN_LIKELY(exp.has_value())
1331
8.65M
                   ? result(*std::forward<Exp>(exp))
1332
8.65M
                   : result(unexpect,
1333
73.5k
                            trivial_invoke(std::forward<F>(f),
1334
73.5k
                                           std::forward<Exp>(exp).error()));
1335
8.65M
    }
1336
8.65M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
2.16M
{
1319
2.16M
    if constexpr (std::is_void_v<Ret>) {
1320
2.16M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
2.16M
        if (SCN_LIKELY(exp.has_value())) {
1322
2.16M
            return result(*std::forward<Exp>(exp));
1323
2.16M
        }
1324
1325
2.16M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
2.16M
        return result(unexpect, monostate{});
1327
2.16M
    }
1328
2.16M
    else {
1329
2.16M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
2.16M
        return SCN_LIKELY(exp.has_value())
1331
2.16M
                   ? result(*std::forward<Exp>(exp))
1332
2.16M
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
2.16M
    }
1336
2.16M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
1.65M
{
1319
1.65M
    if constexpr (std::is_void_v<Ret>) {
1320
1.65M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
1.65M
        if (SCN_LIKELY(exp.has_value())) {
1322
1.65M
            return result(*std::forward<Exp>(exp));
1323
1.65M
        }
1324
1325
1.65M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
1.65M
        return result(unexpect, monostate{});
1327
1.65M
    }
1328
1.65M
    else {
1329
1.65M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
1.65M
        return SCN_LIKELY(exp.has_value())
1331
1.65M
                   ? result(*std::forward<Exp>(exp))
1332
1.65M
                   : result(unexpect,
1333
80.8k
                            trivial_invoke(std::forward<F>(f),
1334
80.8k
                                           std::forward<Exp>(exp).error()));
1335
1.65M
    }
1336
1.65M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
2.27k
{
1319
2.27k
    if constexpr (std::is_void_v<Ret>) {
1320
2.27k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
2.27k
        if (SCN_LIKELY(exp.has_value())) {
1322
2.27k
            return result(*std::forward<Exp>(exp));
1323
2.27k
        }
1324
1325
2.27k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
2.27k
        return result(unexpect, monostate{});
1327
2.27k
    }
1328
2.27k
    else {
1329
2.27k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
2.27k
        return SCN_LIKELY(exp.has_value())
1331
2.27k
                   ? result(*std::forward<Exp>(exp))
1332
2.27k
                   : result(unexpect,
1333
78
                            trivial_invoke(std::forward<F>(f),
1334
78
                                           std::forward<Exp>(exp).error()));
1335
2.27k
    }
1336
2.27k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
1.58k
{
1319
1.58k
    if constexpr (std::is_void_v<Ret>) {
1320
1.58k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
1.58k
        if (SCN_LIKELY(exp.has_value())) {
1322
1.58k
            return result(*std::forward<Exp>(exp));
1323
1.58k
        }
1324
1325
1.58k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
1.58k
        return result(unexpect, monostate{});
1327
1.58k
    }
1328
1.58k
    else {
1329
1.58k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
1.58k
        return SCN_LIKELY(exp.has_value())
1331
1.58k
                   ? result(*std::forward<Exp>(exp))
1332
1.58k
                   : result(unexpect,
1333
188
                            trivial_invoke(std::forward<F>(f),
1334
188
                                           std::forward<Exp>(exp).error()));
1335
1.58k
    }
1336
1.58k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
754
{
1319
754
    if constexpr (std::is_void_v<Ret>) {
1320
754
        using result = expected<expected_value_type<Exp>, monostate>;
1321
754
        if (SCN_LIKELY(exp.has_value())) {
1322
754
            return result(*std::forward<Exp>(exp));
1323
754
        }
1324
1325
754
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
754
        return result(unexpect, monostate{});
1327
754
    }
1328
754
    else {
1329
754
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
754
        return SCN_LIKELY(exp.has_value())
1331
754
                   ? result(*std::forward<Exp>(exp))
1332
754
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
754
    }
1336
754
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
738
{
1319
738
    if constexpr (std::is_void_v<Ret>) {
1320
738
        using result = expected<expected_value_type<Exp>, monostate>;
1321
738
        if (SCN_LIKELY(exp.has_value())) {
1322
738
            return result(*std::forward<Exp>(exp));
1323
738
        }
1324
1325
738
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
738
        return result(unexpect, monostate{});
1327
738
    }
1328
738
    else {
1329
738
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
738
        return SCN_LIKELY(exp.has_value())
1331
738
                   ? result(*std::forward<Exp>(exp))
1332
738
                   : result(unexpect,
1333
738
                            trivial_invoke(std::forward<F>(f),
1334
738
                                           std::forward<Exp>(exp).error()));
1335
738
    }
1336
738
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
2.16M
{
1319
2.16M
    if constexpr (std::is_void_v<Ret>) {
1320
2.16M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
2.16M
        if (SCN_LIKELY(exp.has_value())) {
1322
2.16M
            return result(*std::forward<Exp>(exp));
1323
2.16M
        }
1324
1325
2.16M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
2.16M
        return result(unexpect, monostate{});
1327
2.16M
    }
1328
2.16M
    else {
1329
2.16M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
2.16M
        return SCN_LIKELY(exp.has_value())
1331
2.16M
                   ? result(*std::forward<Exp>(exp))
1332
2.16M
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
2.16M
    }
1336
2.16M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
2.49M
{
1319
2.49M
    if constexpr (std::is_void_v<Ret>) {
1320
2.49M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
2.49M
        if (SCN_LIKELY(exp.has_value())) {
1322
2.49M
            return result(*std::forward<Exp>(exp));
1323
2.49M
        }
1324
1325
2.49M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
2.49M
        return result(unexpect, monostate{});
1327
2.49M
    }
1328
2.49M
    else {
1329
2.49M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
2.49M
        return SCN_LIKELY(exp.has_value())
1331
2.49M
                   ? result(*std::forward<Exp>(exp))
1332
2.49M
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
2.49M
    }
1336
2.49M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
2.43M
{
1319
2.43M
    if constexpr (std::is_void_v<Ret>) {
1320
2.43M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
2.43M
        if (SCN_LIKELY(exp.has_value())) {
1322
2.43M
            return result(*std::forward<Exp>(exp));
1323
2.43M
        }
1324
1325
2.43M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
2.43M
        return result(unexpect, monostate{});
1327
2.43M
    }
1328
2.43M
    else {
1329
2.43M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
2.43M
        return SCN_LIKELY(exp.has_value())
1331
2.43M
                   ? result(*std::forward<Exp>(exp))
1332
2.43M
                   : result(unexpect,
1333
2.43M
                            trivial_invoke(std::forward<F>(f),
1334
2.43M
                                           std::forward<Exp>(exp).error()));
1335
2.43M
    }
1336
2.43M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
238
{
1319
238
    if constexpr (std::is_void_v<Ret>) {
1320
238
        using result = expected<expected_value_type<Exp>, monostate>;
1321
238
        if (SCN_LIKELY(exp.has_value())) {
1322
238
            return result(*std::forward<Exp>(exp));
1323
238
        }
1324
1325
238
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
238
        return result(unexpect, monostate{});
1327
238
    }
1328
238
    else {
1329
238
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
238
        return SCN_LIKELY(exp.has_value())
1331
238
                   ? result(*std::forward<Exp>(exp))
1332
238
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
238
    }
1336
238
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
476
{
1319
476
    if constexpr (std::is_void_v<Ret>) {
1320
476
        using result = expected<expected_value_type<Exp>, monostate>;
1321
476
        if (SCN_LIKELY(exp.has_value())) {
1322
476
            return result(*std::forward<Exp>(exp));
1323
476
        }
1324
1325
476
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
476
        return result(unexpect, monostate{});
1327
476
    }
1328
476
    else {
1329
476
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
476
        return SCN_LIKELY(exp.has_value())
1331
476
                   ? result(*std::forward<Exp>(exp))
1332
476
                   : result(unexpect,
1333
476
                            trivial_invoke(std::forward<F>(f),
1334
476
                                           std::forward<Exp>(exp).error()));
1335
476
    }
1336
476
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
2.47M
{
1319
2.47M
    if constexpr (std::is_void_v<Ret>) {
1320
2.47M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
2.47M
        if (SCN_LIKELY(exp.has_value())) {
1322
2.47M
            return result(*std::forward<Exp>(exp));
1323
2.47M
        }
1324
1325
2.47M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
2.47M
        return result(unexpect, monostate{});
1327
2.47M
    }
1328
2.47M
    else {
1329
2.47M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
2.47M
        return SCN_LIKELY(exp.has_value())
1331
2.47M
                   ? result(*std::forward<Exp>(exp))
1332
2.47M
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
2.47M
    }
1336
2.47M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
2.37M
{
1319
2.37M
    if constexpr (std::is_void_v<Ret>) {
1320
2.37M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
2.37M
        if (SCN_LIKELY(exp.has_value())) {
1322
2.37M
            return result(*std::forward<Exp>(exp));
1323
2.37M
        }
1324
1325
2.37M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
2.37M
        return result(unexpect, monostate{});
1327
2.37M
    }
1328
2.37M
    else {
1329
2.37M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
2.37M
        return SCN_LIKELY(exp.has_value())
1331
2.37M
                   ? result(*std::forward<Exp>(exp))
1332
2.37M
                   : result(unexpect,
1333
2.37M
                            trivial_invoke(std::forward<F>(f),
1334
2.37M
                                           std::forward<Exp>(exp).error()));
1335
2.37M
    }
1336
2.37M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
1.07M
{
1319
1.07M
    if constexpr (std::is_void_v<Ret>) {
1320
1.07M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
1.07M
        if (SCN_LIKELY(exp.has_value())) {
1322
1.07M
            return result(*std::forward<Exp>(exp));
1323
1.07M
        }
1324
1325
1.07M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
1.07M
        return result(unexpect, monostate{});
1327
1.07M
    }
1328
1.07M
    else {
1329
1.07M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
1.07M
        return SCN_LIKELY(exp.has_value())
1331
1.07M
                   ? result(*std::forward<Exp>(exp))
1332
1.07M
                   : result(unexpect,
1333
77.8k
                            trivial_invoke(std::forward<F>(f),
1334
77.8k
                                           std::forward<Exp>(exp).error()));
1335
1.07M
    }
1336
1.07M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
351k
{
1319
351k
    if constexpr (std::is_void_v<Ret>) {
1320
351k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
351k
        if (SCN_LIKELY(exp.has_value())) {
1322
351k
            return result(*std::forward<Exp>(exp));
1323
351k
        }
1324
1325
351k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
351k
        return result(unexpect, monostate{});
1327
351k
    }
1328
351k
    else {
1329
351k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
351k
        return SCN_LIKELY(exp.has_value())
1331
351k
                   ? result(*std::forward<Exp>(exp))
1332
351k
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
351k
    }
1336
351k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
303k
{
1319
303k
    if constexpr (std::is_void_v<Ret>) {
1320
303k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
303k
        if (SCN_LIKELY(exp.has_value())) {
1322
303k
            return result(*std::forward<Exp>(exp));
1323
303k
        }
1324
1325
303k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
303k
        return result(unexpect, monostate{});
1327
303k
    }
1328
303k
    else {
1329
303k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
303k
        return SCN_LIKELY(exp.has_value())
1331
303k
                   ? result(*std::forward<Exp>(exp))
1332
303k
                   : result(unexpect,
1333
300k
                            trivial_invoke(std::forward<F>(f),
1334
300k
                                           std::forward<Exp>(exp).error()));
1335
303k
    }
1336
303k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
1.04k
{
1319
1.04k
    if constexpr (std::is_void_v<Ret>) {
1320
1.04k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
1.04k
        if (SCN_LIKELY(exp.has_value())) {
1322
1.04k
            return result(*std::forward<Exp>(exp));
1323
1.04k
        }
1324
1325
1.04k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
1.04k
        return result(unexpect, monostate{});
1327
1.04k
    }
1328
1.04k
    else {
1329
1.04k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
1.04k
        return SCN_LIKELY(exp.has_value())
1331
1.04k
                   ? result(*std::forward<Exp>(exp))
1332
1.04k
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
1.04k
    }
1336
1.04k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
45.2M
{
1319
45.2M
    if constexpr (std::is_void_v<Ret>) {
1320
45.2M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
45.2M
        if (SCN_LIKELY(exp.has_value())) {
1322
45.2M
            return result(*std::forward<Exp>(exp));
1323
45.2M
        }
1324
1325
45.2M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
45.2M
        return result(unexpect, monostate{});
1327
45.2M
    }
1328
45.2M
    else {
1329
45.2M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
45.2M
        return SCN_LIKELY(exp.has_value())
1331
45.2M
                   ? result(*std::forward<Exp>(exp))
1332
45.2M
                   : result(unexpect,
1333
13.6k
                            trivial_invoke(std::forward<F>(f),
1334
13.6k
                                           std::forward<Exp>(exp).error()));
1335
45.2M
    }
1336
45.2M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
810
{
1319
810
    if constexpr (std::is_void_v<Ret>) {
1320
810
        using result = expected<expected_value_type<Exp>, monostate>;
1321
810
        if (SCN_LIKELY(exp.has_value())) {
1322
810
            return result(*std::forward<Exp>(exp));
1323
810
        }
1324
1325
810
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
810
        return result(unexpect, monostate{});
1327
810
    }
1328
810
    else {
1329
810
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
810
        return SCN_LIKELY(exp.has_value())
1331
810
                   ? result(*std::forward<Exp>(exp))
1332
810
                   : result(unexpect,
1333
160
                            trivial_invoke(std::forward<F>(f),
1334
160
                                           std::forward<Exp>(exp).error()));
1335
810
    }
1336
810
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
406
{
1319
406
    if constexpr (std::is_void_v<Ret>) {
1320
406
        using result = expected<expected_value_type<Exp>, monostate>;
1321
406
        if (SCN_LIKELY(exp.has_value())) {
1322
406
            return result(*std::forward<Exp>(exp));
1323
406
        }
1324
1325
406
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
406
        return result(unexpect, monostate{});
1327
406
    }
1328
406
    else {
1329
406
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
406
        return SCN_LIKELY(exp.has_value())
1331
406
                   ? result(*std::forward<Exp>(exp))
1332
406
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
406
    }
1336
406
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
402
{
1319
402
    if constexpr (std::is_void_v<Ret>) {
1320
402
        using result = expected<expected_value_type<Exp>, monostate>;
1321
402
        if (SCN_LIKELY(exp.has_value())) {
1322
402
            return result(*std::forward<Exp>(exp));
1323
402
        }
1324
1325
402
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
402
        return result(unexpect, monostate{});
1327
402
    }
1328
402
    else {
1329
402
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
402
        return SCN_LIKELY(exp.has_value())
1331
402
                   ? result(*std::forward<Exp>(exp))
1332
402
                   : result(unexpect,
1333
402
                            trivial_invoke(std::forward<F>(f),
1334
402
                                           std::forward<Exp>(exp).error()));
1335
402
    }
1336
402
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
1.08M
{
1319
1.08M
    if constexpr (std::is_void_v<Ret>) {
1320
1.08M
        using result = expected<expected_value_type<Exp>, monostate>;
1321
1.08M
        if (SCN_LIKELY(exp.has_value())) {
1322
1.08M
            return result(*std::forward<Exp>(exp));
1323
1.08M
        }
1324
1325
1.08M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
1.08M
        return result(unexpect, monostate{});
1327
1.08M
    }
1328
1.08M
    else {
1329
1.08M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
1.08M
        return SCN_LIKELY(exp.has_value())
1331
1.08M
                   ? result(*std::forward<Exp>(exp))
1332
1.08M
                   : result(unexpect,
1333
78.0k
                            trivial_invoke(std::forward<F>(f),
1334
78.0k
                                           std::forward<Exp>(exp).error()));
1335
1.08M
    }
1336
1.08M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
354k
{
1319
354k
    if constexpr (std::is_void_v<Ret>) {
1320
354k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
354k
        if (SCN_LIKELY(exp.has_value())) {
1322
354k
            return result(*std::forward<Exp>(exp));
1323
354k
        }
1324
1325
354k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
354k
        return result(unexpect, monostate{});
1327
354k
    }
1328
354k
    else {
1329
354k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
354k
        return SCN_LIKELY(exp.has_value())
1331
354k
                   ? result(*std::forward<Exp>(exp))
1332
354k
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
354k
    }
1336
354k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
310k
{
1319
310k
    if constexpr (std::is_void_v<Ret>) {
1320
310k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
310k
        if (SCN_LIKELY(exp.has_value())) {
1322
310k
            return result(*std::forward<Exp>(exp));
1323
310k
        }
1324
1325
310k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
310k
        return result(unexpect, monostate{});
1327
310k
    }
1328
310k
    else {
1329
310k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
310k
        return SCN_LIKELY(exp.has_value())
1331
310k
                   ? result(*std::forward<Exp>(exp))
1332
310k
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
310k
    }
1336
310k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
556k
{
1319
556k
    if constexpr (std::is_void_v<Ret>) {
1320
556k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
556k
        if (SCN_LIKELY(exp.has_value())) {
1322
556k
            return result(*std::forward<Exp>(exp));
1323
556k
        }
1324
1325
556k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
556k
        return result(unexpect, monostate{});
1327
556k
    }
1328
556k
    else {
1329
556k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
556k
        return SCN_LIKELY(exp.has_value())
1331
556k
                   ? result(*std::forward<Exp>(exp))
1332
556k
                   : result(unexpect,
1333
556k
                            trivial_invoke(std::forward<F>(f),
1334
556k
                                           std::forward<Exp>(exp).error()));
1335
556k
    }
1336
556k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
120
{
1319
120
    if constexpr (std::is_void_v<Ret>) {
1320
120
        using result = expected<expected_value_type<Exp>, monostate>;
1321
120
        if (SCN_LIKELY(exp.has_value())) {
1322
120
            return result(*std::forward<Exp>(exp));
1323
120
        }
1324
1325
120
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
120
        return result(unexpect, monostate{});
1327
120
    }
1328
120
    else {
1329
120
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
120
        return SCN_LIKELY(exp.has_value())
1331
120
                   ? result(*std::forward<Exp>(exp))
1332
120
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
120
    }
1336
120
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
240
{
1319
240
    if constexpr (std::is_void_v<Ret>) {
1320
240
        using result = expected<expected_value_type<Exp>, monostate>;
1321
240
        if (SCN_LIKELY(exp.has_value())) {
1322
240
            return result(*std::forward<Exp>(exp));
1323
240
        }
1324
1325
240
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
240
        return result(unexpect, monostate{});
1327
240
    }
1328
240
    else {
1329
240
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
240
        return SCN_LIKELY(exp.has_value())
1331
240
                   ? result(*std::forward<Exp>(exp))
1332
240
                   : result(unexpect,
1333
240
                            trivial_invoke(std::forward<F>(f),
1334
240
                                           std::forward<Exp>(exp).error()));
1335
240
    }
1336
240
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
311k
{
1319
311k
    if constexpr (std::is_void_v<Ret>) {
1320
311k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
311k
        if (SCN_LIKELY(exp.has_value())) {
1322
311k
            return result(*std::forward<Exp>(exp));
1323
311k
        }
1324
1325
311k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
311k
        return result(unexpect, monostate{});
1327
311k
    }
1328
311k
    else {
1329
311k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
311k
        return SCN_LIKELY(exp.has_value())
1331
311k
                   ? result(*std::forward<Exp>(exp))
1332
311k
                   : result(unexpect,
1333
0
                            trivial_invoke(std::forward<F>(f),
1334
0
                                           std::forward<Exp>(exp).error()));
1335
311k
    }
1336
311k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1318
424k
{
1319
424k
    if constexpr (std::is_void_v<Ret>) {
1320
424k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
424k
        if (SCN_LIKELY(exp.has_value())) {
1322
424k
            return result(*std::forward<Exp>(exp));
1323
424k
        }
1324
1325
424k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
424k
        return result(unexpect, monostate{});
1327
424k
    }
1328
424k
    else {
1329
424k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
424k
        return SCN_LIKELY(exp.has_value())
1331
424k
                   ? result(*std::forward<Exp>(exp))
1332
424k
                   : result(unexpect,
1333
424k
                            trivial_invoke(std::forward<F>(f),
1334
424k
                                           std::forward<Exp>(exp).error()));
1335
424k
    }
1336
424k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1318
1.96k
{
1319
1.96k
    if constexpr (std::is_void_v<Ret>) {
1320
1.96k
        using result = expected<expected_value_type<Exp>, monostate>;
1321
1.96k
        if (SCN_LIKELY(exp.has_value())) {
1322
1.96k
            return result(*std::forward<Exp>(exp));
1323
1.96k
        }
1324
1325
1.96k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
1.96k
        return result(unexpect, monostate{});
1327
1.96k
    }
1328
1.96k
    else {
1329
1.96k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
1.96k
        return SCN_LIKELY(exp.has_value())
1331
1.96k
                   ? result(*std::forward<Exp>(exp))
1332
1.96k
                   : result(unexpect,
1333
104
                            trivial_invoke(std::forward<F>(f),
1334
104
                                           std::forward<Exp>(exp).error()));
1335
1.96k
    }
1336
1.96k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
1337
template <typename Exp,
1338
          typename F,
1339
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1340
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1341
                                                 SCN_DECLVAL(Exp).error()))>
1342
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1343
{
1344
    if constexpr (std::is_void_v<Ret>) {
1345
        using result = expected<expected_value_type<Exp>, monostate>;
1346
        if (SCN_LIKELY(exp.has_value())) {
1347
            return result();
1348
        }
1349
1350
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1351
        return result(unexpect, monostate{});
1352
    }
1353
    else {
1354
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1355
        return SCN_LIKELY(exp.has_value())
1356
                   ? result()
1357
                   : result(unexpect,
1358
                            trivial_invoke(std::forward<F>(f),
1359
                                           std::forward<Exp>(exp).error()));
1360
    }
1361
}
1362
1363
template <class T, class E, class U, class G, class UR, class GR>
1364
using enable_from_other =
1365
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1366
                     std::is_constructible_v<E, GR> &&
1367
                     !std::is_constructible_v<T, expected<U, G>&> &&
1368
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1369
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1370
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1371
                     !std::is_convertible_v<expected<U, G>&, T> &&
1372
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1373
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1374
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1375
}  // namespace detail
1376
1377
template <typename T, typename E>
1378
class SCN_TRIVIAL_ABI expected
1379
    : private detail::expected_operations_base<T, E>,
1380
      private detail::expected_delete_ctor_base<T, E>,
1381
      private detail::expected_delete_assign_base<T, E>,
1382
      private detail::expected_default_ctor_base<T, E> {
1383
    using base = detail::expected_operations_base<T, E>;
1384
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1385
1386
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1387
                  "T must be void or Destructible");
1388
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1389
1390
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1391
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1392
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1393
1394
public:
1395
    using value_type = T;
1396
    using error_type = E;
1397
    using unexpected_type = unexpected<E>;
1398
1399
    template <typename U>
1400
    using rebind = expected<U, error_type>;
1401
1402
    // Special member functions are defaulted, implementations provided
1403
    // by base classes
1404
1405
    constexpr expected() = default;
1406
1407
    constexpr expected(const expected&) = default;
1408
    constexpr expected(expected&&) = default;
1409
    constexpr expected& operator=(const expected&) = default;
1410
    constexpr expected& operator=(expected&&) = default;
1411
1412
    ~expected() = default;
1413
1414
    /**
1415
     * Construct an expected value.
1416
     * Intentionally non-explicit, to make constructing an expected
1417
     * value as transparent as possible.
1418
     */
1419
    template <typename U = value_type,
1420
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1421
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1422
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1423
        : base(std::in_place, std::forward<U>(val)),
1424
          ctor_base(detail::non_default_ctor_tag_t{})
1425
669M
    {
1426
669M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1425
4.70M
    {
1426
4.70M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Line
Count
Source
1425
146
    {
1426
146
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Line
Count
Source
1425
382k
    {
1426
382k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Line
Count
Source
1425
324k
    {
1426
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Line
Count
Source
1425
810k
    {
1426
810k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1425
158k
    {
1426
158k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1425
788
    {
1426
788
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
1425
158k
    {
1426
158k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1425
44.6M
    {
1426
44.6M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Line
Count
Source
1425
74
    {
1426
74
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Line
Count
Source
1425
711
    {
1426
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Line
Count
Source
1425
564
    {
1426
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Line
Count
Source
1425
20.5k
    {
1426
20.5k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1425
86
    {
1426
86
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1425
22.2M
    {
1426
22.2M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
1425
22.2M
    {
1426
22.2M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1425
15.7M
    {
1426
15.7M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1425
45.4M
    {
1426
45.4M
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1425
22.5M
    {
1426
22.5M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1425
90.6M
    {
1426
90.6M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1425
23.3M
    {
1426
23.3M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
1425
6.85M
    {
1426
6.85M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1425
2.13M
    {
1426
2.13M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
4.90M
    {
1426
4.90M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1425
13.2M
    {
1426
13.2M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1425
2.16M
    {
1426
2.16M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1425
2.16M
    {
1426
2.16M
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1425
311k
    {
1426
311k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1425
3.48M
    {
1426
3.48M
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1425
11.3M
    {
1426
11.3M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1425
5.31k
    {
1426
5.31k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1425
3.21k
    {
1426
3.21k
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1425
6.86M
    {
1426
6.86M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
992
    {
1426
992
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1425
1.40k
    {
1426
1.40k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1425
754
    {
1426
754
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1425
754
    {
1426
754
    }
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1425
1.67M
    {
1426
1.67M
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
4.72M
    {
1426
4.72M
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1425
1.06M
    {
1426
1.06M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1425
2.16M
    {
1426
2.16M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1425
2.16M
    {
1426
2.16M
    }
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1425
309k
    {
1426
309k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1425
3.47M
    {
1426
3.47M
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1425
85.8M
    {
1426
85.8M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
2.49M
    {
1426
2.49M
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
238
    {
1426
238
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
2.47M
    {
1426
2.47M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::expected<std::__1::regex_constants::syntax_option_type, void>(std::__1::regex_constants::syntax_option_type&&)
Line
Count
Source
1425
13.9k
    {
1426
13.9k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
1425
870
    {
1426
870
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
1425
564
    {
1426
564
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const* const&, void>(char const* const&)
Line
Count
Source
1425
3.79k
    {
1426
3.79k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1425
24.8M
    {
1426
24.8M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
1425
18.4M
    {
1426
18.4M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1425
6.40k
    {
1426
6.40k
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
664k
    {
1426
664k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1425
1.06M
    {
1426
1.06M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1425
351k
    {
1426
351k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1425
351k
    {
1426
351k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1425
724
    {
1426
724
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1425
8.96M
    {
1426
8.96M
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1425
47.0M
    {
1426
47.0M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1425
2.54k
    {
1426
2.54k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1425
1.31k
    {
1426
1.31k
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1425
36.2M
    {
1426
36.2M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
526
    {
1426
526
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1425
650
    {
1426
650
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1425
406
    {
1426
406
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1425
406
    {
1426
406
    }
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1425
4.53k
    {
1426
4.53k
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
666k
    {
1426
666k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1425
1.02M
    {
1426
1.02M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1425
354k
    {
1426
354k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1425
354k
    {
1426
354k
    }
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1425
724
    {
1426
724
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1425
17.8M
    {
1426
17.8M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
310k
    {
1426
310k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
120
    {
1426
120
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1425
311k
    {
1426
311k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
1425
42
    {
1426
42
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Line
Count
Source
1425
84
    {
1426
84
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<int, void>(int&&)
Line
Count
Source
1425
264k
    {
1426
264k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::expected<wchar_t, void>(wchar_t&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Line
Count
Source
1425
296k
    {
1426
296k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Line
Count
Source
1425
283k
    {
1426
283k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Line
Count
Source
1425
390k
    {
1426
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Line
Count
Source
1425
328k
    {
1426
328k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1425
4.57M
    {
1426
4.57M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Line
Count
Source
1425
297k
    {
1426
297k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Line
Count
Source
1425
284k
    {
1426
284k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Line
Count
Source
1425
383k
    {
1426
383k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Line
Count
Source
1425
326k
    {
1426
326k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Line
Count
Source
1425
390k
    {
1426
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Line
Count
Source
1425
330k
    {
1426
330k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Line
Count
Source
1425
595
    {
1426
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Line
Count
Source
1425
500
    {
1426
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Line
Count
Source
1425
864
    {
1426
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Line
Count
Source
1425
694
    {
1426
694
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1425
22.3M
    {
1426
22.3M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Line
Count
Source
1425
595
    {
1426
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Line
Count
Source
1425
500
    {
1426
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Line
Count
Source
1425
711
    {
1426
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Line
Count
Source
1425
564
    {
1426
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Line
Count
Source
1425
864
    {
1426
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Line
Count
Source
1425
694
    {
1426
694
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1425
160k
    {
1426
160k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1425
22.2M
    {
1426
22.2M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&)
Line
Count
Source
1425
746k
    {
1426
746k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&)
Line
Count
Source
1425
821k
    {
1426
821k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&)
Line
Count
Source
1425
754k
    {
1426
754k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&)
Line
Count
Source
1425
818k
    {
1426
818k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&)
Line
Count
Source
1425
828k
    {
1426
828k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&)
Line
Count
Source
1425
20.4k
    {
1426
20.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&)
Line
Count
Source
1425
20.7k
    {
1426
20.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&)
Line
Count
Source
1425
20.3k
    {
1426
20.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&)
Line
Count
Source
1425
20.5k
    {
1426
20.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&)
Line
Count
Source
1425
20.6k
    {
1426
20.6k
    }
1427
1428
    /// Construct an expected value directly in-place
1429
    template <typename... Args,
1430
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1431
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1432
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1433
        : base(std::in_place, std::forward<Args>(args)...),
1434
          ctor_base(detail::non_default_ctor_tag_t{})
1435
    {
1436
    }
1437
1438
    template <typename G = E,
1439
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1440
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1441
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1442
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1443
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1444
    {
1445
    }
1446
    template <typename G = E,
1447
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1448
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1449
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1450
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1451
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1452
    {
1453
    }
1454
1455
    template <typename G = E,
1456
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1457
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1458
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1459
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1460
        : base(unexpect, std::move(e.error())),
1461
          ctor_base(detail::non_default_ctor_tag_t{})
1462
    {
1463
    }
1464
    template <typename G = E,
1465
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1466
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1467
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1468
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1469
        : base(unexpect, std::move(e.error())),
1470
          ctor_base(detail::non_default_ctor_tag_t{})
1471
56.5M
    {
1472
56.5M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
472k
    {
1472
472k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
9.12k
    {
1472
9.12k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
50.1k
    {
1472
50.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
50.1k
    {
1472
50.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
51.0k
    {
1472
51.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
9.27k
    {
1472
9.27k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
9.27k
    {
1472
9.27k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
19.0k
    {
1472
19.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
8.48k
    {
1472
8.48k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
19.0k
    {
1472
19.0k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
950k
    {
1472
950k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
18.4k
    {
1472
18.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
100k
    {
1472
100k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
100k
    {
1472
100k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
102k
    {
1472
102k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
18.5k
    {
1472
18.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
18.5k
    {
1472
18.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
18.4k
    {
1472
18.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
39.6k
    {
1472
39.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
39.6k
    {
1472
39.6k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
870k
    {
1472
870k
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
1.56M
    {
1472
1.56M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
612k
    {
1472
612k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
159k
    {
1472
159k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
42.4k
    {
1472
42.4k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1471
2.56M
    {
1472
2.56M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1471
18.8M
    {
1472
18.8M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
512
    {
1472
512
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
8.86k
    {
1472
8.86k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
61.9k
    {
1472
61.9k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
338
    {
1472
338
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
38.6k
    {
1472
38.6k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
3.61k
    {
1472
3.61k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1471
426
    {
1472
426
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1471
3.93k
    {
1472
3.93k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
16
    {
1472
16
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1471
2.52M
    {
1472
2.52M
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1471
14.1M
    {
1472
14.1M
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
162
    {
1472
162
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
9.25k
    {
1472
9.25k
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
2.95M
    {
1472
2.95M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
1.34M
    {
1472
1.34M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
87.9k
    {
1472
87.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
5.35k
    {
1472
5.35k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1471
388k
    {
1472
388k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1471
2.56M
    {
1472
2.56M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
27
    {
1472
27
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
46.0k
    {
1472
46.0k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
92.0k
    {
1472
92.0k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
160
    {
1472
160
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
7.17k
    {
1472
7.17k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
1.36k
    {
1472
1.36k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1471
280
    {
1472
280
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1471
2.07k
    {
1472
2.07k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
4
    {
1472
4
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1471
389k
    {
1472
389k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1471
2.02M
    {
1472
2.02M
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1471
12
    {
1472
12
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
46.0k
    {
1472
46.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
381k
    {
1472
381k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
40.8k
    {
1472
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
762k
    {
1472
762k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
81.7k
    {
1472
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
10.5k
    {
1472
10.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
21.1k
    {
1472
21.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
41.7k
    {
1472
41.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
41.7k
    {
1472
41.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
41.7k
    {
1472
41.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
41.7k
    {
1472
41.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
41.7k
    {
1472
41.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
83.5k
    {
1472
83.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
83.5k
    {
1472
83.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
83.5k
    {
1472
83.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
83.5k
    {
1472
83.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1471
83.5k
    {
1472
83.5k
    }
1473
1474
    /// Construct an unexpected value directly in-place
1475
    template <typename... Args,
1476
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1477
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1478
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1479
        : base(unexpect, std::forward<Args>(args)...),
1480
          ctor_base(detail::non_default_ctor_tag_t{})
1481
6.53M
    {
1482
6.53M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1481
2.56M
    {
1482
2.56M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1481
865k
    {
1482
865k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1481
2.42M
    {
1482
2.42M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1481
73.5k
    {
1482
73.5k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1481
1.29k
    {
1482
1.29k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1481
188
    {
1482
188
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1481
77.8k
    {
1482
77.8k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1481
642
    {
1482
642
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1481
438k
    {
1482
438k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1481
160
    {
1482
160
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1481
78.0k
    {
1482
78.0k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1481
104
    {
1482
104
    }
1483
1484
    template <
1485
        typename U,
1486
        typename G,
1487
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1488
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1489
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1490
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1491
        std::is_nothrow_constructible_v<T, const U&> &&
1492
        std::is_nothrow_constructible_v<E, const G&>)
1493
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1494
    {
1495
        if (other.has_value()) {
1496
            this->construct(*other);
1497
        }
1498
        else {
1499
            this->construct_unexpected(other.error());
1500
        }
1501
    }
1502
    template <
1503
        typename U,
1504
        typename G,
1505
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1506
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1507
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1508
    constexpr expected(const expected<U, G>& other) noexcept(
1509
        std::is_nothrow_constructible_v<T, const U&> &&
1510
        std::is_nothrow_constructible_v<E, const G&>)
1511
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1512
    {
1513
        if (other.has_value()) {
1514
            this->construct(*other);
1515
        }
1516
        else {
1517
            this->construct_unexpected(other.error());
1518
        }
1519
    }
1520
1521
    template <typename U,
1522
              typename G,
1523
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1524
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1525
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1526
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1527
        std::is_nothrow_constructible_v<T, U&&> &&
1528
        std::is_nothrow_constructible_v<E, G&&>)
1529
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1530
    {
1531
        if (other.has_value()) {
1532
            this->construct(std::move(*other));
1533
        }
1534
        else {
1535
            this->construct_unexpected(std::move(other.error()));
1536
        }
1537
    }
1538
    template <typename U,
1539
              typename G,
1540
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1541
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1542
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1543
    constexpr expected(expected<U, G>&& other) noexcept(
1544
        std::is_nothrow_constructible_v<T, U&&> &&
1545
        std::is_nothrow_constructible_v<E, G&&>)
1546
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1547
    {
1548
        if (other.has_value()) {
1549
            this->construct(std::move(*other));
1550
        }
1551
        else {
1552
            this->construct_unexpected(std::move(other.error()));
1553
        }
1554
    }
1555
1556
    template <typename U = value_type,
1557
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1558
    expected& operator=(U&& val) noexcept(
1559
        noexcept(assign_value(std::forward<U>(val))))
1560
    {
1561
        assign_value(std::forward<U>(val));
1562
        return *this;
1563
    }
1564
1565
    expected& operator=(const unexpected_type& unex) noexcept(
1566
        noexcept(assign_unexpected(unex)))
1567
    {
1568
        assign_unexpected(unex);
1569
        return *this;
1570
    }
1571
    expected& operator=(unexpected_type&& unex) noexcept(
1572
        noexcept(assign_unexpected(std::move(unex))))
1573
    {
1574
        assign_unexpected(std::move(unex));
1575
        return *this;
1576
    }
1577
1578
    /// Destroys the contained value, and then initializes the expected
1579
    /// value directly in-place.
1580
    template <typename... Args,
1581
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1582
    decltype(auto) emplace(Args&&... args) noexcept(
1583
        std::is_nothrow_constructible_v<T, Args...>)
1584
    {
1585
        emplace_impl(std::forward<Args>(args)...);
1586
        if constexpr (!std::is_void_v<T>) {
1587
            return this->get_value();
1588
        }
1589
    }
1590
1591
    using base::has_value;
1592
    constexpr explicit operator bool() const noexcept
1593
669M
    {
1594
669M
        return has_value();
1595
669M
    }
scn::v3::expected<long, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
117M
    {
1594
117M
        return has_value();
1595
117M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
5.17M
    {
1594
5.17M
        return has_value();
1595
5.17M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
45.6M
    {
1594
45.6M
        return has_value();
1595
45.6M
    }
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
13.9k
    {
1594
13.9k
        return has_value();
1595
13.9k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::operator bool() const
scn::v3::expected<char const*, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
31.7M
    {
1594
31.7M
        return has_value();
1595
31.7M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
110M
    {
1594
110M
        return has_value();
1595
110M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
9.97M
    {
1594
9.97M
        return has_value();
1595
9.97M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
6.89M
    {
1594
6.89M
        return has_value();
1595
6.89M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1593
37.7M
    {
1594
37.7M
        return has_value();
1595
37.7M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
2.41M
    {
1594
2.41M
        return has_value();
1595
2.41M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
2.16M
    {
1594
2.16M
        return has_value();
1595
2.16M
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
320k
    {
1594
320k
        return has_value();
1595
320k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
24.8M
    {
1594
24.8M
        return has_value();
1595
24.8M
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
6.44M
    {
1594
6.44M
        return has_value();
1595
6.44M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
1.78k
    {
1594
1.78k
        return has_value();
1595
1.78k
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
6.89M
    {
1594
6.89M
        return has_value();
1595
6.89M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1593
5.44k
    {
1594
5.44k
        return has_value();
1595
5.44k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
754
    {
1594
754
        return has_value();
1595
754
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
754
    {
1594
754
        return has_value();
1595
754
    }
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
16
    {
1594
16
        return has_value();
1595
16
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
8.91k
    {
1594
8.91k
        return has_value();
1595
8.91k
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1593
21.9M
    {
1594
21.9M
        return has_value();
1595
21.9M
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
2.24M
    {
1594
2.24M
        return has_value();
1595
2.24M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
2.16M
    {
1594
2.16M
        return has_value();
1595
2.16M
    }
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
319k
    {
1594
319k
        return has_value();
1595
319k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
2.49M
    {
1594
2.49M
        return has_value();
1595
2.49M
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
238
    {
1594
238
        return has_value();
1595
238
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
2.47M
    {
1594
2.47M
        return has_value();
1595
2.47M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
874k
    {
1594
874k
        return has_value();
1595
874k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
18.4M
    {
1594
18.4M
        return has_value();
1595
18.4M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1593
4.11M
    {
1594
4.11M
        return has_value();
1595
4.11M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
354k
    {
1594
354k
        return has_value();
1595
354k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
351k
    {
1594
351k
        return has_value();
1595
351k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
46.7k
    {
1594
46.7k
        return has_value();
1595
46.7k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
56.9M
    {
1594
56.9M
        return has_value();
1595
56.9M
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
799k
    {
1594
799k
        return has_value();
1595
799k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
852
    {
1594
852
        return has_value();
1595
852
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
36.2M
    {
1594
36.2M
        return has_value();
1595
36.2M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1593
2.88k
    {
1594
2.88k
        return has_value();
1595
2.88k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
406
    {
1594
406
        return has_value();
1595
406
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
406
    {
1594
406
        return has_value();
1595
406
    }
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
4
    {
1594
4
        return has_value();
1595
4
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
3.44k
    {
1594
3.44k
        return has_value();
1595
3.44k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1593
3.83M
    {
1594
3.83M
        return has_value();
1595
3.83M
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1593
355k
    {
1594
355k
        return has_value();
1595
355k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
354k
    {
1594
354k
        return has_value();
1595
354k
    }
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
46.7k
    {
1594
46.7k
        return has_value();
1595
46.7k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
310k
    {
1594
310k
        return has_value();
1595
310k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
120
    {
1594
120
        return has_value();
1595
120
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
311k
    {
1594
311k
        return has_value();
1595
311k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
337k
    {
1594
337k
        return has_value();
1595
337k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
324k
    {
1594
324k
        return has_value();
1595
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
423k
    {
1594
423k
        return has_value();
1595
423k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
365k
    {
1594
365k
        return has_value();
1595
365k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
431k
    {
1594
431k
        return has_value();
1595
431k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
369k
    {
1594
369k
        return has_value();
1595
369k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
4.95M
    {
1594
4.95M
        return has_value();
1595
4.95M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
338k
    {
1594
338k
        return has_value();
1595
338k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
325k
    {
1594
325k
        return has_value();
1595
325k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
423k
    {
1594
423k
        return has_value();
1595
423k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
367k
    {
1594
367k
        return has_value();
1595
367k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
431k
    {
1594
431k
        return has_value();
1595
431k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
371k
    {
1594
371k
        return has_value();
1595
371k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.3k
    {
1594
82.3k
        return has_value();
1595
82.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.2k
    {
1594
82.2k
        return has_value();
1595
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.4k
    {
1594
82.4k
        return has_value();
1595
82.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.2k
    {
1594
82.2k
        return has_value();
1595
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.5k
    {
1594
82.5k
        return has_value();
1595
82.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.4k
    {
1594
82.4k
        return has_value();
1595
82.4k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
23.1M
    {
1594
23.1M
        return has_value();
1595
23.1M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.3k
    {
1594
82.3k
        return has_value();
1595
82.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.2k
    {
1594
82.2k
        return has_value();
1595
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.4k
    {
1594
82.4k
        return has_value();
1595
82.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.2k
    {
1594
82.2k
        return has_value();
1595
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.5k
    {
1594
82.5k
        return has_value();
1595
82.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
82.4k
    {
1594
82.4k
        return has_value();
1595
82.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
167k
    {
1594
167k
        return has_value();
1595
167k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
167k
    {
1594
167k
        return has_value();
1595
167k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
171k
    {
1594
171k
        return has_value();
1595
171k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
22.3M
    {
1594
22.3M
        return has_value();
1595
22.3M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
22.3M
    {
1594
22.3M
        return has_value();
1595
22.3M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
22.3M
    {
1594
22.3M
        return has_value();
1595
22.3M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
788k
    {
1594
788k
        return has_value();
1595
788k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
851k
    {
1594
851k
        return has_value();
1595
851k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
863k
    {
1594
863k
        return has_value();
1595
863k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
796k
    {
1594
796k
        return has_value();
1595
796k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
860k
    {
1594
860k
        return has_value();
1595
860k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
870k
    {
1594
870k
        return has_value();
1595
870k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
103k
    {
1594
103k
        return has_value();
1595
103k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
104k
    {
1594
104k
        return has_value();
1595
104k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
104k
    {
1594
104k
        return has_value();
1595
104k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
103k
    {
1594
103k
        return has_value();
1595
103k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
104k
    {
1594
104k
        return has_value();
1595
104k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1593
104k
    {
1594
104k
        return has_value();
1595
104k
    }
1596
1597
    /// Get the unexpected value, if one is contained in *this
1598
    constexpr error_type& error() & noexcept
1599
31.7M
    {
1600
31.7M
        SCN_EXPECT(!has_value());
1601
31.7M
        return this->get_unexpected().error();
1602
31.7M
    }
scn::v3::expected<long, scn::v3::scan_error>::error() &
Line
Count
Source
1599
2.95M
    {
1600
2.95M
        SCN_EXPECT(!has_value());
1601
2.95M
        return this->get_unexpected().error();
1602
2.95M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1599
472k
    {
1600
472k
        SCN_EXPECT(!has_value());
1601
472k
        return this->get_unexpected().error();
1602
472k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1599
950k
    {
1600
950k
        SCN_EXPECT(!has_value());
1601
950k
        return this->get_unexpected().error();
1602
950k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::error() &
scn::v3::expected<char const*, scn::v3::scan_error>::error() &
Line
Count
Source
1599
955k
    {
1600
955k
        SCN_EXPECT(!has_value());
1601
955k
        return this->get_unexpected().error();
1602
955k
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::error() &
Line
Count
Source
1599
1.69M
    {
1600
1.69M
        SCN_EXPECT(!has_value());
1601
1.69M
        return this->get_unexpected().error();
1602
1.69M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1599
42.4k
    {
1600
42.4k
        SCN_EXPECT(!has_value());
1601
42.4k
        return this->get_unexpected().error();
1602
42.4k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1599
30.1k
    {
1600
30.1k
        SCN_EXPECT(!has_value());
1601
30.1k
        return this->get_unexpected().error();
1602
30.1k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1599
8.92M
    {
1600
8.92M
        SCN_EXPECT(!has_value());
1601
8.92M
        return this->get_unexpected().error();
1602
8.92M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1599
8.86k
    {
1600
8.86k
        SCN_EXPECT(!has_value());
1601
8.86k
        return this->get_unexpected().error();
1602
8.86k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::error() &
Line
Count
Source
1599
818k
    {
1600
818k
        SCN_EXPECT(!has_value());
1601
818k
        return this->get_unexpected().error();
1602
818k
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1599
38.6k
    {
1600
38.6k
        SCN_EXPECT(!has_value());
1601
38.6k
        return this->get_unexpected().error();
1602
38.6k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() &
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1599
1.89k
    {
1600
1.89k
        SCN_EXPECT(!has_value());
1601
1.89k
        return this->get_unexpected().error();
1602
1.89k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1599
16
    {
1600
16
        SCN_EXPECT(!has_value());
1601
16
        return this->get_unexpected().error();
1602
16
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1599
4.66k
    {
1600
4.66k
        SCN_EXPECT(!has_value());
1601
4.66k
        return this->get_unexpected().error();
1602
4.66k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1599
7.51k
    {
1600
7.51k
        SCN_EXPECT(!has_value());
1601
7.51k
        return this->get_unexpected().error();
1602
7.51k
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1599
8.62M
    {
1600
8.62M
        SCN_EXPECT(!has_value());
1601
8.62M
        return this->get_unexpected().error();
1602
8.62M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1599
9.25k
    {
1600
9.25k
        SCN_EXPECT(!has_value());
1601
9.25k
        return this->get_unexpected().error();
1602
9.25k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1599
5.35k
    {
1600
5.35k
        SCN_EXPECT(!has_value());
1601
5.35k
        return this->get_unexpected().error();
1602
5.35k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1599
921
    {
1600
921
        SCN_EXPECT(!has_value());
1601
921
        return this->get_unexpected().error();
1602
921
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1599
1.60M
    {
1600
1.60M
        SCN_EXPECT(!has_value());
1601
1.60M
        return this->get_unexpected().error();
1602
1.60M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1599
46.0k
    {
1600
46.0k
        SCN_EXPECT(!has_value());
1601
46.0k
        return this->get_unexpected().error();
1602
46.0k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::error() &
Line
Count
Source
1599
1.89M
    {
1600
1.89M
        SCN_EXPECT(!has_value());
1601
1.89M
        return this->get_unexpected().error();
1602
1.89M
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1599
7.17k
    {
1600
7.17k
        SCN_EXPECT(!has_value());
1601
7.17k
        return this->get_unexpected().error();
1602
7.17k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() &
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1599
1.04k
    {
1600
1.04k
        SCN_EXPECT(!has_value());
1601
1.04k
        return this->get_unexpected().error();
1602
1.04k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1599
4
    {
1600
4
        SCN_EXPECT(!has_value());
1601
4
        return this->get_unexpected().error();
1602
4
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1599
1.88k
    {
1600
1.88k
        SCN_EXPECT(!has_value());
1601
1.88k
        return this->get_unexpected().error();
1602
1.88k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1599
368
    {
1600
368
        SCN_EXPECT(!has_value());
1601
368
        return this->get_unexpected().error();
1602
368
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1599
1.47M
    {
1600
1.47M
        SCN_EXPECT(!has_value());
1601
1.47M
        return this->get_unexpected().error();
1602
1.47M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1599
46.0k
    {
1600
46.0k
        SCN_EXPECT(!has_value());
1601
46.0k
        return this->get_unexpected().error();
1602
46.0k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() &
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::error() &
Line
Count
Source
1599
381k
    {
1600
381k
        SCN_EXPECT(!has_value());
1601
381k
        return this->get_unexpected().error();
1602
381k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::error() &
Line
Count
Source
1599
762k
    {
1600
762k
        SCN_EXPECT(!has_value());
1601
762k
        return this->get_unexpected().error();
1602
762k
    }
1603
    constexpr const error_type& error() const& noexcept
1604
0
    {
1605
0
        SCN_EXPECT(!has_value());
1606
0
        return this->get_unexpected().error();
1607
0
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() const &
1608
    constexpr error_type&& error() && noexcept
1609
745k
    {
1610
745k
        SCN_EXPECT(!has_value());
1611
745k
        return std::move(this->get_unexpected().error());
1612
745k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1609
129k
    {
1610
129k
        SCN_EXPECT(!has_value());
1611
129k
        return std::move(this->get_unexpected().error());
1612
129k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1609
86.9k
    {
1610
86.9k
        SCN_EXPECT(!has_value());
1611
86.9k
        return std::move(this->get_unexpected().error());
1612
86.9k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1609
54.1k
    {
1610
54.1k
        SCN_EXPECT(!has_value());
1611
54.1k
        return std::move(this->get_unexpected().error());
1612
54.1k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1609
80.8k
    {
1610
80.8k
        SCN_EXPECT(!has_value());
1611
80.8k
        return std::move(this->get_unexpected().error());
1612
80.8k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1609
266
    {
1610
266
        SCN_EXPECT(!has_value());
1611
266
        return std::move(this->get_unexpected().error());
1612
266
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1609
738
    {
1610
738
        SCN_EXPECT(!has_value());
1611
738
        return std::move(this->get_unexpected().error());
1612
738
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1609
300k
    {
1610
300k
        SCN_EXPECT(!has_value());
1611
300k
        return std::move(this->get_unexpected().error());
1612
300k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1609
160
    {
1610
160
        SCN_EXPECT(!has_value());
1611
160
        return std::move(this->get_unexpected().error());
1612
160
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1609
91.7k
    {
1610
91.7k
        SCN_EXPECT(!has_value());
1611
91.7k
        return std::move(this->get_unexpected().error());
1612
91.7k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1609
402
    {
1610
402
        SCN_EXPECT(!has_value());
1611
402
        return std::move(this->get_unexpected().error());
1612
402
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
1613
    constexpr const error_type&& error() const&& noexcept
1614
    {
1615
        SCN_EXPECT(!has_value());
1616
        return std::move(this->get_unexpected().error());
1617
    }
1618
1619
    /// Get the expected value, if one is contained in *this
1620
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1621
    constexpr U& value() & noexcept
1622
679M
    {
1623
679M
        SCN_EXPECT(has_value());
1624
679M
        return this->get_value();
1625
679M
    }
long& scn::v3::expected<long, scn::v3::scan_error>::value<long, (void*)0>() &
Line
Count
Source
1622
113M
    {
1623
113M
        SCN_EXPECT(has_value());
1624
113M
        return this->get_value();
1625
113M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &
Line
Count
Source
1622
4.70M
    {
1623
4.70M
        SCN_EXPECT(has_value());
1624
4.70M
        return this->get_value();
1625
4.70M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1622
44.6M
    {
1623
44.6M
        SCN_EXPECT(has_value());
1624
44.6M
        return this->get_value();
1625
44.6M
    }
std::__1::regex_constants::syntax_option_type& scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::value<std::__1::regex_constants::syntax_option_type, (void*)0>() &
Line
Count
Source
1622
13.9k
    {
1623
13.9k
        SCN_EXPECT(has_value());
1624
13.9k
        return this->get_value();
1625
13.9k
    }
Unexecuted instantiation: wchar_t& scn::v3::expected<wchar_t, scn::v3::scan_error>::value<wchar_t, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1622
15.2M
    {
1623
15.2M
        SCN_EXPECT(has_value());
1624
15.2M
        return this->get_value();
1625
15.2M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1622
23.9M
    {
1623
23.9M
        SCN_EXPECT(has_value());
1624
23.9M
        return this->get_value();
1625
23.9M
    }
char const*& scn::v3::expected<char const*, scn::v3::scan_error>::value<char const*, (void*)0>() &
Line
Count
Source
1622
23.6M
    {
1623
23.6M
        SCN_EXPECT(has_value());
1624
23.6M
        return this->get_value();
1625
23.6M
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1622
108M
    {
1623
108M
        SCN_EXPECT(has_value());
1624
108M
        return this->get_value();
1625
108M
    }
char const*& scn::v3::expected<char const*, scn::v3::impl::eof_error>::value<char const*, (void*)0>() &
Line
Count
Source
1622
6.36M
    {
1623
6.36M
        SCN_EXPECT(has_value());
1624
6.36M
        return this->get_value();
1625
6.36M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, (void*)0>() &
Line
Count
Source
1622
6.85M
    {
1623
6.85M
        SCN_EXPECT(has_value());
1624
6.85M
        return this->get_value();
1625
6.85M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1622
18.0M
    {
1623
18.0M
        SCN_EXPECT(has_value());
1624
18.0M
        return this->get_value();
1625
18.0M
    }
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
4.90M
    {
1623
4.90M
        SCN_EXPECT(has_value());
1624
4.90M
        return this->get_value();
1625
4.90M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Line
Count
Source
1622
2.16M
    {
1623
2.16M
        SCN_EXPECT(has_value());
1624
2.16M
        return this->get_value();
1625
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Line
Count
Source
1622
2.16M
    {
1623
2.16M
        SCN_EXPECT(has_value());
1624
2.16M
        return this->get_value();
1625
2.16M
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1622
311k
    {
1623
311k
        SCN_EXPECT(has_value());
1624
311k
        return this->get_value();
1625
311k
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1622
16.8M
    {
1623
16.8M
        SCN_EXPECT(has_value());
1624
16.8M
        return this->get_value();
1625
16.8M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1622
3.82k
    {
1623
3.82k
        SCN_EXPECT(has_value());
1624
3.82k
        return this->get_value();
1625
3.82k
    }
std::__1::pair<char const*, long>& scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::value<std::__1::pair<char const*, long>, (void*)0>() &
Line
Count
Source
1622
6.86M
    {
1623
6.86M
        SCN_EXPECT(has_value());
1624
6.86M
        return this->get_value();
1625
6.86M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1622
1.40k
    {
1623
1.40k
        SCN_EXPECT(has_value());
1624
1.40k
        return this->get_value();
1625
1.40k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
992
    {
1623
992
        SCN_EXPECT(has_value());
1624
992
        return this->get_value();
1625
992
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Line
Count
Source
1622
754
    {
1623
754
        SCN_EXPECT(has_value());
1624
754
        return this->get_value();
1625
754
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Line
Count
Source
1622
754
    {
1623
754
        SCN_EXPECT(has_value());
1624
754
        return this->get_value();
1625
754
    }
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1622
3.77k
    {
1623
3.77k
        SCN_EXPECT(has_value());
1624
3.77k
        return this->get_value();
1625
3.77k
    }
char const*& scn::v3::expected<char const*, scn::v3::impl::parse_error>::value<char const*, (void*)0>() &
Line
Count
Source
1622
3.44M
    {
1623
3.44M
        SCN_EXPECT(has_value());
1624
3.44M
        return this->get_value();
1625
3.44M
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
4.72M
    {
1623
4.72M
        SCN_EXPECT(has_value());
1624
4.72M
        return this->get_value();
1625
4.72M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Line
Count
Source
1622
2.16M
    {
1623
2.16M
        SCN_EXPECT(has_value());
1624
2.16M
        return this->get_value();
1625
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Line
Count
Source
1622
2.16M
    {
1623
2.16M
        SCN_EXPECT(has_value());
1624
2.16M
        return this->get_value();
1625
2.16M
    }
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1622
309k
    {
1623
309k
        SCN_EXPECT(has_value());
1624
309k
        return this->get_value();
1625
309k
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
2.49M
    {
1623
2.49M
        SCN_EXPECT(has_value());
1624
2.49M
        return this->get_value();
1625
2.49M
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
238
    {
1623
238
        SCN_EXPECT(has_value());
1624
238
        return this->get_value();
1625
238
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
2.47M
    {
1623
2.47M
        SCN_EXPECT(has_value());
1624
2.47M
        return this->get_value();
1625
2.47M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, (void*)0>() &
Line
Count
Source
1622
18.4M
    {
1623
18.4M
        SCN_EXPECT(has_value());
1624
18.4M
        return this->get_value();
1625
18.4M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1622
1.13M
    {
1623
1.13M
        SCN_EXPECT(has_value());
1624
1.13M
        return this->get_value();
1625
1.13M
    }
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
664k
    {
1623
664k
        SCN_EXPECT(has_value());
1624
664k
        return this->get_value();
1625
664k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Line
Count
Source
1622
351k
    {
1623
351k
        SCN_EXPECT(has_value());
1624
351k
        return this->get_value();
1625
351k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Line
Count
Source
1622
351k
    {
1623
351k
        SCN_EXPECT(has_value());
1624
351k
        return this->get_value();
1625
351k
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1622
724
    {
1623
724
        SCN_EXPECT(has_value());
1624
724
        return this->get_value();
1625
724
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1622
54.3M
    {
1623
54.3M
        SCN_EXPECT(has_value());
1624
54.3M
        return this->get_value();
1625
54.3M
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1622
46.2M
    {
1623
46.2M
        SCN_EXPECT(has_value());
1624
46.2M
        return this->get_value();
1625
46.2M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1622
1.69k
    {
1623
1.69k
        SCN_EXPECT(has_value());
1624
1.69k
        return this->get_value();
1625
1.69k
    }
std::__1::pair<wchar_t const*, long>& scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::value<std::__1::pair<wchar_t const*, long>, (void*)0>() &
Line
Count
Source
1622
36.2M
    {
1623
36.2M
        SCN_EXPECT(has_value());
1624
36.2M
        return this->get_value();
1625
36.2M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1622
650
    {
1623
650
        SCN_EXPECT(has_value());
1624
650
        return this->get_value();
1625
650
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
526
    {
1623
526
        SCN_EXPECT(has_value());
1624
526
        return this->get_value();
1625
526
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Line
Count
Source
1622
406
    {
1623
406
        SCN_EXPECT(has_value());
1624
406
        return this->get_value();
1625
406
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Line
Count
Source
1622
406
    {
1623
406
        SCN_EXPECT(has_value());
1624
406
        return this->get_value();
1625
406
    }
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1622
1.31k
    {
1623
1.31k
        SCN_EXPECT(has_value());
1624
1.31k
        return this->get_value();
1625
1.31k
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1622
1.05M
    {
1623
1.05M
        SCN_EXPECT(has_value());
1624
1.05M
        return this->get_value();
1625
1.05M
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
666k
    {
1623
666k
        SCN_EXPECT(has_value());
1624
666k
        return this->get_value();
1625
666k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Line
Count
Source
1622
354k
    {
1623
354k
        SCN_EXPECT(has_value());
1624
354k
        return this->get_value();
1625
354k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Line
Count
Source
1622
354k
    {
1623
354k
        SCN_EXPECT(has_value());
1624
354k
        return this->get_value();
1625
354k
    }
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1622
724
    {
1623
724
        SCN_EXPECT(has_value());
1624
724
        return this->get_value();
1625
724
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
310k
    {
1623
310k
        SCN_EXPECT(has_value());
1624
310k
        return this->get_value();
1625
310k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
120
    {
1623
120
        SCN_EXPECT(has_value());
1624
120
        return this->get_value();
1625
120
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1622
311k
    {
1623
311k
        SCN_EXPECT(has_value());
1624
311k
        return this->get_value();
1625
311k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, (void*)0>() &
Line
Count
Source
1622
296k
    {
1623
296k
        SCN_EXPECT(has_value());
1624
296k
        return this->get_value();
1625
296k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, (void*)0>() &
Line
Count
Source
1622
283k
    {
1623
283k
        SCN_EXPECT(has_value());
1624
283k
        return this->get_value();
1625
283k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, (void*)0>() &
Line
Count
Source
1622
382k
    {
1623
382k
        SCN_EXPECT(has_value());
1624
382k
        return this->get_value();
1625
382k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, (void*)0>() &
Line
Count
Source
1622
324k
    {
1623
324k
        SCN_EXPECT(has_value());
1624
324k
        return this->get_value();
1625
324k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, (void*)0>() &
Line
Count
Source
1622
390k
    {
1623
390k
        SCN_EXPECT(has_value());
1624
390k
        return this->get_value();
1625
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, (void*)0>() &
Line
Count
Source
1622
328k
    {
1623
328k
        SCN_EXPECT(has_value());
1624
328k
        return this->get_value();
1625
328k
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &
Line
Count
Source
1622
4.57M
    {
1623
4.57M
        SCN_EXPECT(has_value());
1624
4.57M
        return this->get_value();
1625
4.57M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, (void*)0>() &
Line
Count
Source
1622
297k
    {
1623
297k
        SCN_EXPECT(has_value());
1624
297k
        return this->get_value();
1625
297k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, (void*)0>() &
Line
Count
Source
1622
284k
    {
1623
284k
        SCN_EXPECT(has_value());
1624
284k
        return this->get_value();
1625
284k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, (void*)0>() &
Line
Count
Source
1622
383k
    {
1623
383k
        SCN_EXPECT(has_value());
1624
383k
        return this->get_value();
1625
383k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, (void*)0>() &
Line
Count
Source
1622
326k
    {
1623
326k
        SCN_EXPECT(has_value());
1624
326k
        return this->get_value();
1625
326k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, (void*)0>() &
Line
Count
Source
1622
390k
    {
1623
390k
        SCN_EXPECT(has_value());
1624
390k
        return this->get_value();
1625
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, (void*)0>() &
Line
Count
Source
1622
330k
    {
1623
330k
        SCN_EXPECT(has_value());
1624
330k
        return this->get_value();
1625
330k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, (void*)0>() &
Line
Count
Source
1622
595
    {
1623
595
        SCN_EXPECT(has_value());
1624
595
        return this->get_value();
1625
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, (void*)0>() &
Line
Count
Source
1622
500
    {
1623
500
        SCN_EXPECT(has_value());
1624
500
        return this->get_value();
1625
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, (void*)0>() &
Line
Count
Source
1622
711
    {
1623
711
        SCN_EXPECT(has_value());
1624
711
        return this->get_value();
1625
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, (void*)0>() &
Line
Count
Source
1622
564
    {
1623
564
        SCN_EXPECT(has_value());
1624
564
        return this->get_value();
1625
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, (void*)0>() &
Line
Count
Source
1622
864
    {
1623
864
        SCN_EXPECT(has_value());
1624
864
        return this->get_value();
1625
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, (void*)0>() &
Line
Count
Source
1622
694
    {
1623
694
        SCN_EXPECT(has_value());
1624
694
        return this->get_value();
1625
694
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &
Line
Count
Source
1622
22.3M
    {
1623
22.3M
        SCN_EXPECT(has_value());
1624
22.3M
        return this->get_value();
1625
22.3M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, (void*)0>() &
Line
Count
Source
1622
595
    {
1623
595
        SCN_EXPECT(has_value());
1624
595
        return this->get_value();
1625
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, (void*)0>() &
Line
Count
Source
1622
500
    {
1623
500
        SCN_EXPECT(has_value());
1624
500
        return this->get_value();
1625
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, (void*)0>() &
Line
Count
Source
1622
711
    {
1623
711
        SCN_EXPECT(has_value());
1624
711
        return this->get_value();
1625
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, (void*)0>() &
Line
Count
Source
1622
564
    {
1623
564
        SCN_EXPECT(has_value());
1624
564
        return this->get_value();
1625
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, (void*)0>() &
Line
Count
Source
1622
864
    {
1623
864
        SCN_EXPECT(has_value());
1624
864
        return this->get_value();
1625
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, (void*)0>() &
Line
Count
Source
1622
694
    {
1623
694
        SCN_EXPECT(has_value());
1624
694
        return this->get_value();
1625
694
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1622
157k
    {
1623
157k
        SCN_EXPECT(has_value());
1624
157k
        return this->get_value();
1625
157k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, (void*)0>() &
Line
Count
Source
1622
157k
    {
1623
157k
        SCN_EXPECT(has_value());
1624
157k
        return this->get_value();
1625
157k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1622
160k
    {
1623
160k
        SCN_EXPECT(has_value());
1624
160k
        return this->get_value();
1625
160k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, (void*)0>() &
Line
Count
Source
1622
22.2M
    {
1623
22.2M
        SCN_EXPECT(has_value());
1624
22.2M
        return this->get_value();
1625
22.2M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, (void*)0>() &
Line
Count
Source
1622
22.2M
    {
1623
22.2M
        SCN_EXPECT(has_value());
1624
22.2M
        return this->get_value();
1625
22.2M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, (void*)0>() &
Line
Count
Source
1622
22.2M
    {
1623
22.2M
        SCN_EXPECT(has_value());
1624
22.2M
        return this->get_value();
1625
22.2M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, (void*)0>() &
Line
Count
Source
1622
746k
    {
1623
746k
        SCN_EXPECT(has_value());
1624
746k
        return this->get_value();
1625
746k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, (void*)0>() &
Line
Count
Source
1622
810k
    {
1623
810k
        SCN_EXPECT(has_value());
1624
810k
        return this->get_value();
1625
810k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, (void*)0>() &
Line
Count
Source
1622
821k
    {
1623
821k
        SCN_EXPECT(has_value());
1624
821k
        return this->get_value();
1625
821k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, (void*)0>() &
Line
Count
Source
1622
754k
    {
1623
754k
        SCN_EXPECT(has_value());
1624
754k
        return this->get_value();
1625
754k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, (void*)0>() &
Line
Count
Source
1622
818k
    {
1623
818k
        SCN_EXPECT(has_value());
1624
818k
        return this->get_value();
1625
818k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, (void*)0>() &
Line
Count
Source
1622
828k
    {
1623
828k
        SCN_EXPECT(has_value());
1624
828k
        return this->get_value();
1625
828k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, (void*)0>() &
Line
Count
Source
1622
20.4k
    {
1623
20.4k
        SCN_EXPECT(has_value());
1624
20.4k
        return this->get_value();
1625
20.4k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, (void*)0>() &
Line
Count
Source
1622
20.5k
    {
1623
20.5k
        SCN_EXPECT(has_value());
1624
20.5k
        return this->get_value();
1625
20.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, (void*)0>() &
Line
Count
Source
1622
20.7k
    {
1623
20.7k
        SCN_EXPECT(has_value());
1624
20.7k
        return this->get_value();
1625
20.7k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, (void*)0>() &
Line
Count
Source
1622
20.3k
    {
1623
20.3k
        SCN_EXPECT(has_value());
1624
20.3k
        return this->get_value();
1625
20.3k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, (void*)0>() &
Line
Count
Source
1622
20.5k
    {
1623
20.5k
        SCN_EXPECT(has_value());
1624
20.5k
        return this->get_value();
1625
20.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, (void*)0>() &
Line
Count
Source
1622
20.6k
    {
1623
20.6k
        SCN_EXPECT(has_value());
1624
20.6k
        return this->get_value();
1625
20.6k
    }
1626
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1627
    constexpr const U& value() const& noexcept
1628
0
    {
1629
0
        SCN_EXPECT(has_value());
1630
0
        return this->get_value();
1631
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::eof_error>::value<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::parse_error>::value<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::value<wchar_t const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::value<wchar_t const*, (void*)0>() const &
1632
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1633
    constexpr U&& value() && noexcept
1634
    {
1635
        SCN_EXPECT(has_value());
1636
        return std::move(this->get_value());
1637
    }
1638
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1639
    constexpr const U&& value() const&& noexcept
1640
    {
1641
        SCN_EXPECT(has_value());
1642
        return std::move(this->get_value());
1643
    }
1644
1645
    /// Get the expected value, if one is contained in *this
1646
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1647
    constexpr U& operator*() & noexcept
1648
213M
    {
1649
213M
        return value();
1650
213M
    }
long& scn::v3::expected<long, scn::v3::scan_error>::operator*<long, (void*)0>() &
Line
Count
Source
1648
103M
    {
1649
103M
        return value();
1650
103M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &
Line
Count
Source
1648
4.24M
    {
1649
4.24M
        return value();
1650
4.24M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1648
35.7M
    {
1649
35.7M
        return value();
1650
35.7M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1648
1.84M
    {
1649
1.84M
        return value();
1650
1.84M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1648
7.86M
    {
1649
7.86M
        return value();
1650
7.86M
    }
char const*& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1648
1.39M
    {
1649
1.39M
        return value();
1650
1.39M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1648
230
    {
1649
230
        return value();
1650
230
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
char const*& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1648
3.44M
    {
1649
3.44M
        return value();
1650
3.44M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1648
3.44M
    {
1649
3.44M
        return value();
1650
3.44M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1648
564
    {
1649
564
        return value();
1650
564
    }
char const*& scn::v3::expected<char const*, scn::v3::scan_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1648
3.43M
    {
1649
3.43M
        return value();
1650
3.43M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1648
6.05k
    {
1649
6.05k
        return value();
1650
6.05k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1648
135k
    {
1649
135k
        return value();
1650
135k
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1648
4.17k
    {
1649
4.17k
        return value();
1650
4.17k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1648
53.8k
    {
1649
53.8k
        return value();
1650
53.8k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1648
8.96M
    {
1649
8.96M
        return value();
1650
8.96M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1648
17.8M
    {
1649
17.8M
        return value();
1650
17.8M
    }
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &
Line
Count
Source
1648
4.16M
    {
1649
4.16M
        return value();
1650
4.16M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &
Line
Count
Source
1648
17.8M
    {
1649
17.8M
        return value();
1650
17.8M
    }
1651
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1652
    constexpr const U& operator*() const& noexcept
1653
0
    {
1654
0
        return value();
1655
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() const &
1656
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1657
    constexpr U&& operator*() && noexcept
1658
389M
    {
1659
389M
        return std::move(value());
1660
389M
    }
std::__1::regex_constants::syntax_option_type&& scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::operator*<std::__1::regex_constants::syntax_option_type, (void*)0>() &&
Line
Count
Source
1658
13.9k
    {
1659
13.9k
        return std::move(value());
1660
13.9k
    }
Unexecuted instantiation: wchar_t&& scn::v3::expected<wchar_t, scn::v3::scan_error>::operator*<wchar_t, (void*)0>() &&
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1658
13.4M
    {
1659
13.4M
        return std::move(value());
1660
13.4M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1658
23.9M
    {
1659
23.9M
        return std::move(value());
1660
23.9M
    }
char const*&& scn::v3::expected<char const*, scn::v3::scan_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1658
20.1M
    {
1659
20.1M
        return std::move(value());
1660
20.1M
    }
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1658
90.4M
    {
1659
90.4M
        return std::move(value());
1660
90.4M
    }
char const*&& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1658
4.96M
    {
1659
4.96M
        return std::move(value());
1660
4.96M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, (void*)0>() &&
Line
Count
Source
1658
6.85M
    {
1659
6.85M
        return std::move(value());
1660
6.85M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
4.66M
    {
1659
4.66M
        return std::move(value());
1660
4.66M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1658
10.1M
    {
1659
10.1M
        return std::move(value());
1660
10.1M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1658
2.16M
    {
1659
2.16M
        return std::move(value());
1660
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1658
2.16M
    {
1659
2.16M
        return std::move(value());
1660
2.16M
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1658
311k
    {
1659
311k
        return std::move(value());
1660
311k
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1658
13.3M
    {
1659
13.3M
        return std::move(value());
1660
13.3M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1658
3.59k
    {
1659
3.59k
        return std::move(value());
1660
3.59k
    }
std::__1::pair<char const*, long>&& scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::operator*<std::__1::pair<char const*, long>, (void*)0>() &&
Line
Count
Source
1658
6.86M
    {
1659
6.86M
        return std::move(value());
1660
6.86M
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
992
    {
1659
992
        return std::move(value());
1660
992
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1658
1.40k
    {
1659
1.40k
        return std::move(value());
1660
1.40k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &&
Line
Count
Source
1658
754
    {
1659
754
        return std::move(value());
1660
754
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &&
Line
Count
Source
1658
754
    {
1659
754
        return std::move(value());
1660
754
    }
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1658
3.21k
    {
1659
3.21k
        return std::move(value());
1660
3.21k
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
4.64M
    {
1659
4.64M
        return std::move(value());
1660
4.64M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &&
Line
Count
Source
1658
2.16M
    {
1659
2.16M
        return std::move(value());
1660
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &&
Line
Count
Source
1658
2.16M
    {
1659
2.16M
        return std::move(value());
1660
2.16M
    }
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1658
309k
    {
1659
309k
        return std::move(value());
1660
309k
    }
long&& scn::v3::expected<long, scn::v3::scan_error>::operator*<long, (void*)0>() &&
Line
Count
Source
1658
9.80M
    {
1659
9.80M
        return std::move(value());
1660
9.80M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
2.49M
    {
1659
2.49M
        return std::move(value());
1660
2.49M
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
238
    {
1659
238
        return std::move(value());
1660
238
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
2.47M
    {
1659
2.47M
        return std::move(value());
1660
2.47M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, (void*)0>() &&
Line
Count
Source
1658
18.4M
    {
1659
18.4M
        return std::move(value());
1660
18.4M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
661k
    {
1659
661k
        return std::move(value());
1660
661k
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1658
1.00M
    {
1659
1.00M
        return std::move(value());
1660
1.00M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1658
351k
    {
1659
351k
        return std::move(value());
1660
351k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1658
351k
    {
1659
351k
        return std::move(value());
1660
351k
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1658
724
    {
1659
724
        return std::move(value());
1660
724
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1658
45.3M
    {
1659
45.3M
        return std::move(value());
1660
45.3M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1658
1.69k
    {
1659
1.69k
        return std::move(value());
1660
1.69k
    }
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1658
46.2M
    {
1659
46.2M
        return std::move(value());
1660
46.2M
    }
std::__1::pair<wchar_t const*, long>&& scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::operator*<std::__1::pair<wchar_t const*, long>, (void*)0>() &&
Line
Count
Source
1658
36.2M
    {
1659
36.2M
        return std::move(value());
1660
36.2M
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
526
    {
1659
526
        return std::move(value());
1660
526
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1658
650
    {
1659
650
        return std::move(value());
1660
650
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &&
Line
Count
Source
1658
406
    {
1659
406
        return std::move(value());
1660
406
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &&
Line
Count
Source
1658
406
    {
1659
406
        return std::move(value());
1660
406
    }
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1658
1.31k
    {
1659
1.31k
        return std::move(value());
1660
1.31k
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
665k
    {
1659
665k
        return std::move(value());
1660
665k
    }
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1658
1.00M
    {
1659
1.00M
        return std::move(value());
1660
1.00M
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &&
Line
Count
Source
1658
354k
    {
1659
354k
        return std::move(value());
1660
354k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &&
Line
Count
Source
1658
354k
    {
1659
354k
        return std::move(value());
1660
354k
    }
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1658
724
    {
1659
724
        return std::move(value());
1660
724
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
310k
    {
1659
310k
        return std::move(value());
1660
310k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
120
    {
1659
120
        return std::move(value());
1660
120
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1658
311k
    {
1659
311k
        return std::move(value());
1660
311k
    }
char const*&& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1658
1.86k
    {
1659
1.86k
        return std::move(value());
1660
1.86k
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1658
456k
    {
1659
456k
        return std::move(value());
1660
456k
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &&
Line
Count
Source
1658
409k
    {
1659
409k
        return std::move(value());
1660
409k
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1658
8.92M
    {
1659
8.92M
        return std::move(value());
1660
8.92M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &&
Line
Count
Source
1658
4.46M
    {
1659
4.46M
        return std::move(value());
1660
4.46M
    }
1661
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1662
    constexpr const U&& operator*() const&& noexcept
1663
    {
1664
        return std::move(value());
1665
    }
1666
1667
    constexpr value_type* operator->() noexcept
1668
76.6M
    {
1669
76.6M
        return &value();
1670
76.6M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1668
248k
    {
1669
248k
        return &value();
1670
248k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1668
79.8k
    {
1669
79.8k
        return &value();
1670
79.8k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1668
2.85k
    {
1669
2.85k
        return &value();
1670
2.85k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1668
1.16k
    {
1669
1.16k
        return &value();
1670
1.16k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
296k
    {
1669
296k
        return &value();
1670
296k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
283k
    {
1669
283k
        return &value();
1670
283k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
382k
    {
1669
382k
        return &value();
1670
382k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
324k
    {
1669
324k
        return &value();
1670
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
390k
    {
1669
390k
        return &value();
1670
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
328k
    {
1669
328k
        return &value();
1670
328k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
297k
    {
1669
297k
        return &value();
1670
297k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
284k
    {
1669
284k
        return &value();
1670
284k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
383k
    {
1669
383k
        return &value();
1670
383k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
326k
    {
1669
326k
        return &value();
1670
326k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
390k
    {
1669
390k
        return &value();
1670
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
330k
    {
1669
330k
        return &value();
1670
330k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
595
    {
1669
595
        return &value();
1670
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
500
    {
1669
500
        return &value();
1670
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
711
    {
1669
711
        return &value();
1670
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
564
    {
1669
564
        return &value();
1670
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
864
    {
1669
864
        return &value();
1670
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
694
    {
1669
694
        return &value();
1670
694
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
595
    {
1669
595
        return &value();
1670
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
500
    {
1669
500
        return &value();
1670
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
711
    {
1669
711
        return &value();
1670
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
564
    {
1669
564
        return &value();
1670
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
864
    {
1669
864
        return &value();
1670
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
694
    {
1669
694
        return &value();
1670
694
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
157k
    {
1669
157k
        return &value();
1670
157k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
157k
    {
1669
157k
        return &value();
1670
157k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
160k
    {
1669
160k
        return &value();
1670
160k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
22.2M
    {
1669
22.2M
        return &value();
1670
22.2M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
22.2M
    {
1669
22.2M
        return &value();
1670
22.2M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
22.2M
    {
1669
22.2M
        return &value();
1670
22.2M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
746k
    {
1669
746k
        return &value();
1670
746k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
810k
    {
1669
810k
        return &value();
1670
810k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
821k
    {
1669
821k
        return &value();
1670
821k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
754k
    {
1669
754k
        return &value();
1670
754k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
818k
    {
1669
818k
        return &value();
1670
818k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
828k
    {
1669
828k
        return &value();
1670
828k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
20.4k
    {
1669
20.4k
        return &value();
1670
20.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
20.5k
    {
1669
20.5k
        return &value();
1670
20.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
20.7k
    {
1669
20.7k
        return &value();
1670
20.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
20.3k
    {
1669
20.3k
        return &value();
1670
20.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
20.5k
    {
1669
20.5k
        return &value();
1670
20.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1668
20.6k
    {
1669
20.6k
        return &value();
1670
20.6k
    }
1671
    constexpr const value_type* operator->() const noexcept
1672
    {
1673
        return &value();
1674
    }
1675
1676
    /// Returns the expected value if *this contains one, otherwise
1677
    /// returns default_value
1678
    template <typename U,
1679
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1680
                                          std::is_convertible_v<U, T>>>
1681
    constexpr T value_or(U&& default_value) const& noexcept(
1682
        std::is_nothrow_copy_constructible_v<T> &&
1683
        std::is_nothrow_constructible_v<T, U&&>)
1684
    {
1685
        if (has_value()) {
1686
            return value();
1687
        }
1688
        return std::forward<U>(default_value);
1689
    }
1690
    template <typename U,
1691
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1692
                                          std::is_convertible_v<U, T>>>
1693
    constexpr T value_or(U&& default_value) && noexcept(
1694
        std::is_nothrow_move_constructible_v<T> &&
1695
        std::is_nothrow_constructible_v<T, U&&>)
1696
    {
1697
        if (has_value()) {
1698
            return std::move(value());
1699
        }
1700
        return std::forward<U>(default_value);
1701
    }
1702
1703
    template <typename G,
1704
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1705
                                          std::is_convertible_v<G, E>>>
1706
    constexpr E error_or(G&& default_error) const& noexcept(
1707
        std::is_nothrow_copy_constructible_v<E> &&
1708
        std::is_nothrow_constructible_v<E, G&&>)
1709
    {
1710
        if (!has_value()) {
1711
            return error();
1712
        }
1713
        return std::forward<G>(default_error);
1714
    }
1715
    template <typename G,
1716
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1717
                                          std::is_convertible_v<G, E>>>
1718
    constexpr E error_or(G&& default_error) && noexcept(
1719
        std::is_nothrow_move_constructible_v<E> &&
1720
        std::is_nothrow_constructible_v<E, G&&>)
1721
    {
1722
        if (!has_value()) {
1723
            return std::move(error());
1724
        }
1725
        return std::forward<G>(default_error);
1726
    }
1727
1728
    template <typename F>
1729
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1730
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1731
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1732
    {
1733
        return detail::and_then_impl(*this, std::forward<F>(f));
1734
    }
1735
    template <typename F>
1736
    constexpr auto and_then(F&& f) const& noexcept(
1737
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1738
                                       std::forward<F>(f))))
1739
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1740
    {
1741
        return detail::and_then_impl(*this, std::forward<F>(f));
1742
    }
1743
    template <typename F>
1744
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1745
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1746
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1747
    {
1748
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1749
    }
1750
    template <typename F>
1751
    constexpr auto and_then(F&& f) const&& noexcept(
1752
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1753
                                       std::forward<F>(f))))
1754
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1755
    {
1756
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1757
    }
1758
1759
    template <typename F>
1760
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1761
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1762
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1763
    {
1764
        return detail::or_else_impl(*this, std::forward<F>(f));
1765
    }
1766
    template <typename F>
1767
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1768
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1769
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1770
    {
1771
        return detail::or_else_impl(*this, std::forward<F>(f));
1772
    }
1773
    template <typename F>
1774
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1775
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1776
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1777
    {
1778
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1779
    }
1780
    template <typename F>
1781
    constexpr auto or_else(F&& f) const&& noexcept(
1782
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1783
                                      std::forward<F>(f))))
1784
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1785
    {
1786
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1787
    }
1788
1789
    template <typename F>
1790
    constexpr auto transform(
1791
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1792
    {
1793
        return detail::transform_impl(*this, std::forward<F>(f));
1794
    }
1795
    template <typename F>
1796
    constexpr auto transform(F&& f)
1797
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1798
    {
1799
        return detail::transform_impl(*this, std::forward<F>(f));
1800
    }
1801
    template <typename F>
1802
    constexpr auto transform(
1803
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1804
    {
1805
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1806
    }
1807
    template <typename F>
1808
    constexpr auto transform(F&& f)
1809
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1810
    {
1811
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1812
    }
1813
1814
    template <typename F>
1815
    constexpr auto transform_error(
1816
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1817
                                                          std::forward<F>(f)))
1818
5.78M
    {
1819
5.78M
        return detail::transform_error_impl(*this, std::forward<F>(f));
1820
5.78M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1818
2.43M
    {
1819
2.43M
        return detail::transform_error_impl(*this, std::forward<F>(f));
1820
2.43M
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1818
476
    {
1819
476
        return detail::transform_error_impl(*this, std::forward<F>(f));
1820
476
    }
_ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1818
2.37M
    {
1819
2.37M
        return detail::transform_error_impl(*this, std::forward<F>(f));
1820
2.37M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1818
556k
    {
1819
556k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1820
556k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1818
240
    {
1819
240
        return detail::transform_error_impl(*this, std::forward<F>(f));
1820
240
    }
_ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1818
424k
    {
1819
424k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1820
424k
    }
1821
    template <typename F>
1822
    constexpr auto transform_error(F&& f)
1823
        const& -> decltype(detail::transform_error_impl(*this,
1824
                                                        std::forward<F>(f)))
1825
    {
1826
        return detail::transform_error_impl(*this, std::forward<F>(f));
1827
    }
1828
    template <typename F>
1829
    constexpr auto transform_error(
1830
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1831
                                                           std::forward<F>(f)))
1832
101M
    {
1833
101M
        return detail::transform_error_impl(std::move(*this),
1834
101M
                                            std::forward<F>(f));
1835
101M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1832
4.87M
    {
1833
4.87M
        return detail::transform_error_impl(std::move(*this),
1834
4.87M
                                            std::forward<F>(f));
1835
4.87M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1832
22.9M
    {
1833
22.9M
        return detail::transform_error_impl(std::move(*this),
1834
22.9M
                                            std::forward<F>(f));
1835
22.9M
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1832
5.01M
    {
1833
5.01M
        return detail::transform_error_impl(std::move(*this),
1834
5.01M
                                            std::forward<F>(f));
1835
5.01M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1832
8.65M
    {
1833
8.65M
        return detail::transform_error_impl(std::move(*this),
1834
8.65M
                                            std::forward<F>(f));
1835
8.65M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1832
2.16M
    {
1833
2.16M
        return detail::transform_error_impl(std::move(*this),
1834
2.16M
                                            std::forward<F>(f));
1835
2.16M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1832
1.65M
    {
1833
1.65M
        return detail::transform_error_impl(std::move(*this),
1834
1.65M
                                            std::forward<F>(f));
1835
1.65M
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1832
2.27k
    {
1833
2.27k
        return detail::transform_error_impl(std::move(*this),
1834
2.27k
                                            std::forward<F>(f));
1835
2.27k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1832
1.58k
    {
1833
1.58k
        return detail::transform_error_impl(std::move(*this),
1834
1.58k
                                            std::forward<F>(f));
1835
1.58k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1832
754
    {
1833
754
        return detail::transform_error_impl(std::move(*this),
1834
754
                                            std::forward<F>(f));
1835
754
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1832
738
    {
1833
738
        return detail::transform_error_impl(std::move(*this),
1834
738
                                            std::forward<F>(f));
1835
738
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1832
2.16M
    {
1833
2.16M
        return detail::transform_error_impl(std::move(*this),
1834
2.16M
                                            std::forward<F>(f));
1835
2.16M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Line
Count
Source
1832
2.49M
    {
1833
2.49M
        return detail::transform_error_impl(std::move(*this),
1834
2.49M
                                            std::forward<F>(f));
1835
2.49M
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1832
238
    {
1833
238
        return detail::transform_error_impl(std::move(*this),
1834
238
                                            std::forward<F>(f));
1835
238
    }
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1832
2.47M
    {
1833
2.47M
        return detail::transform_error_impl(std::move(*this),
1834
2.47M
                                            std::forward<F>(f));
1835
2.47M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1832
1.07M
    {
1833
1.07M
        return detail::transform_error_impl(std::move(*this),
1834
1.07M
                                            std::forward<F>(f));
1835
1.07M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1832
351k
    {
1833
351k
        return detail::transform_error_impl(std::move(*this),
1834
351k
                                            std::forward<F>(f));
1835
351k
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1832
303k
    {
1833
303k
        return detail::transform_error_impl(std::move(*this),
1834
303k
                                            std::forward<F>(f));
1835
303k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1832
1.04k
    {
1833
1.04k
        return detail::transform_error_impl(std::move(*this),
1834
1.04k
                                            std::forward<F>(f));
1835
1.04k
    }
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1832
45.2M
    {
1833
45.2M
        return detail::transform_error_impl(std::move(*this),
1834
45.2M
                                            std::forward<F>(f));
1835
45.2M
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1832
810
    {
1833
810
        return detail::transform_error_impl(std::move(*this),
1834
810
                                            std::forward<F>(f));
1835
810
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1832
406
    {
1833
406
        return detail::transform_error_impl(std::move(*this),
1834
406
                                            std::forward<F>(f));
1835
406
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1832
402
    {
1833
402
        return detail::transform_error_impl(std::move(*this),
1834
402
                                            std::forward<F>(f));
1835
402
    }
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1832
1.08M
    {
1833
1.08M
        return detail::transform_error_impl(std::move(*this),
1834
1.08M
                                            std::forward<F>(f));
1835
1.08M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1832
354k
    {
1833
354k
        return detail::transform_error_impl(std::move(*this),
1834
354k
                                            std::forward<F>(f));
1835
354k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Line
Count
Source
1832
310k
    {
1833
310k
        return detail::transform_error_impl(std::move(*this),
1834
310k
                                            std::forward<F>(f));
1835
310k
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1832
120
    {
1833
120
        return detail::transform_error_impl(std::move(*this),
1834
120
                                            std::forward<F>(f));
1835
120
    }
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1832
311k
    {
1833
311k
        return detail::transform_error_impl(std::move(*this),
1834
311k
                                            std::forward<F>(f));
1835
311k
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1832
1.96k
    {
1833
1.96k
        return detail::transform_error_impl(std::move(*this),
1834
1.96k
                                            std::forward<F>(f));
1835
1.96k
    }
1836
    template <typename F>
1837
    constexpr auto transform_error(F&& f)
1838
        const&& -> decltype(detail::transform_error_impl(*this,
1839
                                                         std::forward<F>(f)))
1840
    {
1841
        return detail::transform_error_impl(std::move(*this),
1842
                                            std::forward<F>(f));
1843
    }
1844
1845
private:
1846
    template <typename... Args>
1847
    void emplace_impl(Args&&... args) noexcept(
1848
        std::is_nothrow_constructible_v<T, Args&&...>)
1849
    {
1850
        if (this->has_value()) {
1851
            this->destroy_value();
1852
            this->construct(std::forward<Args>(args)...);
1853
        }
1854
        else {
1855
#if SCN_HAS_EXCEPTIONS
1856
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
1857
                auto tmp = std::move(error());
1858
                this->destroy_unexpected();
1859
1860
                try {
1861
                    this->construct(std::forward<Args>(args)...);
1862
                }
1863
                catch (...) {
1864
                    this->construct_unexpected(std::move(tmp));
1865
                    throw;
1866
                }
1867
            }
1868
            else {
1869
                this->construct(std::forward<Args>(args)...);
1870
            }
1871
#else
1872
            this->destroy_unexpected();
1873
            this->construct(std::forward<Args>(args)...);
1874
#endif
1875
        }
1876
    }
1877
1878
    template <typename Value>
1879
    void assign_value(Value&& val) noexcept(
1880
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
1881
                                        Value&&> &&
1882
        std::is_nothrow_assignable_v<T, Value&&>)
1883
    {
1884
        if (has_value()) {
1885
            this->get_value() = std::forward<Value>(val);
1886
            return;
1887
        }
1888
1889
#if SCN_HAS_EXCEPTIONS
1890
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
1891
            this->destroy_unexpected();
1892
            this->construct(std::forward<Value>(val));
1893
        }
1894
        else {
1895
            auto tmp = std::move(this->get_unexpected());
1896
            this->destroy_unexpected();
1897
1898
            try {
1899
                this->construct(std::forward<Value>(val));
1900
            }
1901
            catch (...) {
1902
                this->construct_unexpected(std::move(tmp));
1903
            }
1904
        }
1905
#else
1906
        this->destroy_unexpected();
1907
        this->construct(std::forward<Value>(val));
1908
#endif
1909
    }
1910
1911
    template <typename Unexpected>
1912
    void assign_unexpected(Unexpected&& unex) noexcept(
1913
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
1914
        std::is_nothrow_assignable_v<E, Unexpected&&>)
1915
    {
1916
        if (!has_value()) {
1917
            this->get_unexpected() = std::forward<Unexpected>(unex);
1918
            return;
1919
        }
1920
1921
        this->destroy_value();
1922
        this->construct_unexpected(std::forward<Unexpected>(unex));
1923
    }
1924
};
1925
1926
/////////////////////////////////////////////////////////////////
1927
// <ranges> implementation
1928
/////////////////////////////////////////////////////////////////
1929
1930
// The following is a very minimal <ranges> implementation,
1931
// which is a heavily stripped-down and adapted version of NanoRange:
1932
//   https://github.com/tcbrindle/NanoRange
1933
// NanoRange is provided under the Boost license.
1934
//   Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
1935
1936
namespace ranges {
1937
1938
namespace detail {
1939
using namespace scn::detail;
1940
1941
template <typename T>
1942
constexpr auto decay_copy(T&& t) noexcept(
1943
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
1944
1.78G
{
1945
1.78G
    return SCN_FWD(t);
1946
1.78G
}
_ZN3scn2v36ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
1944
48.5M
{
1945
48.5M
    return SCN_FWD(t);
1946
48.5M
}
_ZN3scn2v36ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
1944
316M
{
1945
316M
    return SCN_FWD(t);
1946
316M
}
_ZN3scn2v36ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
1944
56.0M
{
1945
56.0M
    return SCN_FWD(t);
1946
56.0M
}
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
1944
3.15k
{
1945
3.15k
    return SCN_FWD(t);
1946
3.15k
}
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
1944
1.74M
{
1945
1.74M
    return SCN_FWD(t);
1946
1.74M
}
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
1944
634
{
1945
634
    return SCN_FWD(t);
1946
634
}
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
1944
260k
{
1945
260k
    return SCN_FWD(t);
1946
260k
}
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
1944
166M
{
1945
166M
    return SCN_FWD(t);
1946
166M
}
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
1944
1.19G
{
1945
1.19G
    return SCN_FWD(t);
1946
1.19G
}
1947
1948
template <bool>
1949
struct conditional {
1950
    template <typename T, typename>
1951
    using type = T;
1952
};
1953
1954
template <>
1955
struct conditional<false> {
1956
    template <typename, typename U>
1957
    using type = U;
1958
};
1959
1960
template <bool B, typename T, typename U>
1961
using conditional_t = typename conditional<B>::template type<T, U>;
1962
1963
template <template <class...> class AliasT, typename... Args>
1964
auto exists_helper(long) -> std::false_type;
1965
1966
template <template <class...> class AliasT,
1967
          typename... Args,
1968
          typename = AliasT<Args...>>
1969
auto exists_helper(int) -> std::true_type;
1970
1971
template <template <class...> class AliasT, typename... Args>
1972
inline constexpr bool exists_v =
1973
    decltype(exists_helper<AliasT, Args...>(0))::value;
1974
1975
template <typename, typename...>
1976
auto test_requires_fn(long) -> std::false_type;
1977
1978
template <typename R,
1979
          typename... Args,
1980
          typename = decltype(&R::template requires_<Args...>)>
1981
auto test_requires_fn(int) -> std::true_type;
1982
1983
template <typename R, typename... Args>
1984
inline constexpr bool requires_ =
1985
    decltype(test_requires_fn<R, Args...>(0))::value;
1986
1987
template <bool Expr>
1988
using requires_expr = std::enable_if_t<Expr, int>;
1989
}  // namespace detail
1990
1991
template <typename>
1992
inline constexpr bool enable_borrowed_range = false;
1993
1994
namespace detail {
1995
template <typename T>
1996
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
1997
1998
struct boolean_testable_concept {
1999
    template <typename T>
2000
    auto requires_(T&& t)
2001
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2002
};
2003
2004
template <typename T>
2005
inline constexpr bool boolean_testable =
2006
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2007
}  // namespace detail
2008
2009
namespace detail {
2010
struct weakly_equality_comparable_with_concept {
2011
    template <typename T, typename U>
2012
    auto requires_(const std::remove_reference_t<T>& t,
2013
                   const std::remove_reference_t<U>& u)
2014
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2015
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2016
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2017
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2018
};
2019
2020
template <typename T, typename U>
2021
inline constexpr bool weakly_equality_comparable_with =
2022
    requires_<weakly_equality_comparable_with_concept, T, U>;
2023
}  // namespace detail
2024
2025
template <typename T>
2026
inline constexpr bool equality_comparable =
2027
    detail::weakly_equality_comparable_with<T, T>;
2028
2029
namespace detail {
2030
struct equality_comparable_with_concept {
2031
    template <typename, typename>
2032
    static auto test(long) -> std::false_type;
2033
2034
    template <typename T, typename U>
2035
    static auto test(int)
2036
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2037
#if 0
2038
            common_reference_with<const std::remove_reference_t<T>&,
2039
                                  const std::remove_reference_t<U>&> &&
2040
            equality_comparable<
2041
                common_reference_t<const std::remove_reference_t<T>&,
2042
                                   const std::remove_reference_t<U>&>> &&
2043
#endif
2044
                                weakly_equality_comparable_with<T, U>,
2045
                            std::true_type>;
2046
};
2047
}  // namespace detail
2048
2049
template <typename T, typename U>
2050
inline constexpr bool equality_comparable_with =
2051
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2052
2053
namespace detail {
2054
struct partially_ordered_with_concept {
2055
    template <typename T, typename U>
2056
    auto requires_(const std::remove_reference_t<T>& t,
2057
                   const std::remove_reference_t<U>& u)
2058
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2059
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2060
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2061
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2062
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2063
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2064
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2065
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2066
};
2067
2068
template <typename T, typename U>
2069
inline constexpr bool partially_ordered_with =
2070
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2071
}  // namespace detail
2072
2073
template <typename T>
2074
inline constexpr bool totally_ordered =
2075
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2076
2077
namespace detail {
2078
struct totally_ordered_with_concept {
2079
    template <typename, typename>
2080
    static auto test(long) -> std::false_type;
2081
2082
    template <typename T, typename U>
2083
    static auto test(int)
2084
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2085
                                equality_comparable_with<T, U> &&
2086
#if 0
2087
                                totally_ordered<common_reference_t<
2088
                                    const std::remove_reference_t<T>&,
2089
                                    const std::remove_reference_t<U>&>> &&
2090
#endif
2091
                                partially_ordered_with<T, U>,
2092
                            std::true_type>;
2093
};
2094
}  // namespace detail
2095
2096
template <typename T, typename U>
2097
inline constexpr bool totally_ordered_with =
2098
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2099
2100
namespace detail {
2101
struct movable_concept {
2102
    template <typename T>
2103
    static auto test(long) -> std::false_type;
2104
2105
    template <typename T>
2106
    static auto test(int) -> std::enable_if_t<
2107
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2108
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2109
        std::true_type>;
2110
};
2111
}  // namespace detail
2112
2113
template <typename T>
2114
inline constexpr bool movable =
2115
    decltype(detail::movable_concept::test<T>(0))::value;
2116
2117
namespace detail {
2118
struct copyable_concept {
2119
    template <typename>
2120
    static auto test(long) -> std::false_type;
2121
2122
    template <typename T>
2123
    static auto test(int)
2124
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2125
                                std::is_copy_assignable_v<T>,
2126
                            std::true_type>;
2127
};
2128
}  // namespace detail
2129
2130
template <typename T>
2131
inline constexpr bool copyable =
2132
    decltype(detail::copyable_concept::test<T>(0))::value;
2133
2134
template <typename T>
2135
inline constexpr bool semiregular =
2136
    copyable<T> && std::is_default_constructible_v<T>;
2137
2138
template <typename T>
2139
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2140
2141
template <typename>
2142
struct incrementable_traits;
2143
2144
namespace detail {
2145
struct empty {};
2146
2147
template <typename T>
2148
struct with_difference_type {
2149
    using difference_type = T;
2150
};
2151
2152
template <typename, typename = void>
2153
struct incrementable_traits_helper {};
2154
2155
// Workaround for GCC silliness: void* has no difference_type
2156
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2157
// error Can we formulate the concept differently to avoid the need for this
2158
// hack?
2159
template <>
2160
struct incrementable_traits_helper<void*> {};
2161
2162
template <typename T>
2163
struct incrementable_traits_helper<T*>
2164
    : detail::conditional_t<std::is_object_v<T>,
2165
                            with_difference_type<std::ptrdiff_t>,
2166
                            empty> {};
2167
2168
template <class I>
2169
struct incrementable_traits_helper<const I>
2170
    : incrementable_traits<std::decay_t<I>> {};
2171
2172
template <typename, typename = void>
2173
struct has_member_difference_type : std::false_type {};
2174
2175
template <typename T>
2176
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2177
    : std::true_type {};
2178
2179
template <typename T>
2180
constexpr bool has_member_difference_type_v =
2181
    has_member_difference_type<T>::value;
2182
2183
template <typename T>
2184
struct incrementable_traits_helper<
2185
    T,
2186
    std::enable_if_t<has_member_difference_type_v<T>>> {
2187
    using difference_type = typename T::difference_type;
2188
};
2189
2190
template <typename T, typename = void>
2191
struct subtraction_result_type {
2192
    using type = void;
2193
};
2194
template <typename T>
2195
struct subtraction_result_type<
2196
    T,
2197
    std::void_t<decltype(std::declval<const T&>() -
2198
                         std::declval<const T&>())>> {
2199
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2200
};
2201
2202
template <typename T>
2203
inline constexpr bool enable_incrtraits_subtractable =
2204
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2205
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2206
2207
template <typename T>
2208
struct incrementable_traits_helper<
2209
    T,
2210
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2211
    : with_difference_type<
2212
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2213
}  // namespace detail
2214
2215
template <typename T>
2216
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2217
2218
template <typename T>
2219
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2220
2221
template <typename>
2222
struct readable_traits;
2223
2224
namespace detail {
2225
template <typename T>
2226
struct with_value_type {
2227
    using value_type = T;
2228
};
2229
2230
template <typename, typename = void>
2231
struct readable_traits_helper {};
2232
2233
template <typename T>
2234
struct readable_traits_helper<T*>
2235
    : detail::conditional_t<std::is_object_v<T>,
2236
                            with_value_type<std::remove_cv_t<T>>,
2237
                            empty> {};
2238
2239
template <typename I>
2240
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2241
    : readable_traits<std::decay_t<I>> {};
2242
2243
template <typename I>
2244
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2245
    : readable_traits<std::decay_t<I>> {};
2246
2247
template <typename T, typename V = typename T::value_type>
2248
struct member_value_type
2249
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2250
2251
template <typename T, typename E = typename T::element_type>
2252
struct member_element_type
2253
    : detail::conditional_t<std::is_object_v<E>,
2254
                            with_value_type<std::remove_cv_t<E>>,
2255
                            empty> {};
2256
2257
template <typename T>
2258
using member_value_type_t = typename T::value_type;
2259
2260
template <typename T>
2261
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2262
2263
template <typename T>
2264
using member_element_type_t = typename T::element_type;
2265
2266
template <typename T>
2267
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2268
2269
template <typename T>
2270
struct readable_traits_helper<T,
2271
                              std::enable_if_t<has_member_value_type_v<T> &&
2272
                                               !has_member_element_type_v<T>>>
2273
    : member_value_type<T> {};
2274
2275
template <typename T>
2276
struct readable_traits_helper<T,
2277
                              std::enable_if_t<has_member_element_type_v<T> &&
2278
                                               !has_member_value_type_v<T>>>
2279
    : member_element_type<T> {};
2280
2281
// A type which has both value_type and element_type members must specialise
2282
// readable_traits to tell us which one to prefer -- see
2283
// https://github.com/ericniebler/stl2/issues/562
2284
template <typename T>
2285
struct readable_traits_helper<T,
2286
                              std::enable_if_t<has_member_element_type_v<T> &&
2287
                                               has_member_value_type_v<T>>> {};
2288
}  // namespace detail
2289
2290
template <typename T>
2291
struct readable_traits : detail::readable_traits_helper<T> {};
2292
2293
template <typename T>
2294
using iter_value_t = typename readable_traits<T>::value_type;
2295
2296
namespace detail {
2297
template <typename T>
2298
using with_reference = T&;
2299
2300
struct can_reference_concept {
2301
    template <typename T>
2302
    auto requires_() -> with_reference<T>;
2303
};
2304
2305
template <typename T>
2306
inline constexpr bool can_reference =
2307
    detail::requires_<can_reference_concept, T>;
2308
2309
struct dereferencable_concept {
2310
    template <typename T>
2311
    auto requires_(T& t)
2312
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2313
};
2314
2315
template <typename T>
2316
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2317
2318
// GCC and Clang allow dereferencing void* as an extension.
2319
// Let's kill that off now.
2320
2321
template <>
2322
inline constexpr bool dereferenceable<void*> = false;
2323
}  // namespace detail
2324
2325
using std::bidirectional_iterator_tag;
2326
using std::forward_iterator_tag;
2327
using std::input_iterator_tag;
2328
using std::output_iterator_tag;
2329
using std::random_access_iterator_tag;
2330
2331
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2332
    __cpp_lib_ranges >= 201911L
2333
using std::contiguous_iterator_tag;
2334
#else
2335
struct contiguous_iterator_tag : random_access_iterator_tag {};
2336
#endif
2337
2338
template <typename T>
2339
struct iterator_category;
2340
2341
namespace detail {
2342
template <typename T, typename = void>
2343
struct iterator_category_ {};
2344
template <typename T>
2345
struct iterator_category_<T*>
2346
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2347
template <typename T>
2348
struct iterator_category_<const T> : iterator_category<T> {};
2349
template <typename T>
2350
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2351
    using type = typename T::iterator_category;
2352
};
2353
}  // namespace detail
2354
2355
template <typename T>
2356
struct iterator_category : detail::iterator_category_<T> {};
2357
template <typename T>
2358
using iterator_category_t = typename iterator_category<T>::type;
2359
2360
namespace detail {
2361
2362
template <typename T, typename = void>
2363
struct legacy_iterator_category : iterator_category<T> {};
2364
2365
template <typename T>
2366
struct legacy_iterator_category<
2367
    T,
2368
    std::enable_if_t<
2369
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2370
    using type = random_access_iterator_tag;
2371
};
2372
2373
template <typename T>
2374
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2375
2376
}  // namespace detail
2377
2378
template <typename T>
2379
using iter_reference_t =
2380
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2381
2382
namespace detail {
2383
2384
struct readable_concept {
2385
    template <typename In>
2386
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2387
                                 std::declval<iter_reference_t<In>>());
2388
    // std::declval<iter_rvalue_reference_t<In>>());
2389
2390
    template <typename>
2391
    static auto test(long) -> std::false_type;
2392
2393
    template <typename In>
2394
    static auto test(int)
2395
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2396
#if 0
2397
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2398
            common_reference_with<iter_reference_t<In>&&,
2399
                                  iter_rvalue_reference_t<In>&&> &&
2400
            common_reference_with<iter_rvalue_reference_t<In>&&,
2401
                                  const iter_value_t<In>&>,
2402
#endif
2403
                            std::true_type>;
2404
};
2405
2406
}  // namespace detail
2407
2408
template <typename In>
2409
inline constexpr bool readable =
2410
    decltype(detail::readable_concept::test<In>(0))::value;
2411
2412
namespace detail {
2413
2414
struct writable_concept {
2415
    template <typename Out, typename T>
2416
    auto requires_(Out&& o, T&& t)
2417
        -> decltype(*o = std::forward<T>(t),
2418
                    *std::forward<Out>(o) = std::forward<T>(t),
2419
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2420
                        std::forward<T>(t),
2421
                    const_cast<const iter_reference_t<Out>&&>(
2422
                        *std::forward<Out>(o)) = std::forward<T>(t));
2423
};
2424
2425
}  // namespace detail
2426
2427
template <typename Out, typename T>
2428
inline constexpr bool writable =
2429
    detail::requires_<detail::writable_concept, Out, T>;
2430
2431
namespace detail {
2432
2433
template <typename T>
2434
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2435
2436
template <typename T>
2437
inline constexpr bool is_signed_integer_like =
2438
    std::is_integral_v<T> && std::is_signed_v<T>;
2439
2440
struct weakly_incrementable_concept {
2441
    template <typename I>
2442
    auto requires_(I i)
2443
        -> decltype(std::declval<iter_difference_t<I>>(),
2444
                    requires_expr<
2445
                        is_signed_integer_like<iter_difference_t<I>>>{},
2446
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2447
                    i++);
2448
};
2449
2450
}  // namespace detail
2451
2452
template <typename I>
2453
inline constexpr bool weakly_incrementable =
2454
    std::is_default_constructible_v<I> && movable<I> &&
2455
    detail::requires_<detail::weakly_incrementable_concept, I>;
2456
2457
namespace detail {
2458
2459
struct incrementable_concept {
2460
    template <typename I>
2461
    auto requires_(I i)
2462
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2463
};
2464
2465
}  // namespace detail
2466
2467
template <typename I>
2468
inline constexpr bool incrementable =
2469
    regular<I> && weakly_incrementable<I> &&
2470
    detail::requires_<detail::incrementable_concept, I>;
2471
2472
namespace detail {
2473
2474
struct input_or_output_iterator_concept {
2475
    template <typename I>
2476
    auto requires_(I i)
2477
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2478
};
2479
2480
}  // namespace detail
2481
2482
template <typename I>
2483
inline constexpr bool input_or_output_iterator =
2484
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2485
    weakly_incrementable<I>;
2486
2487
template <typename S, typename I>
2488
inline constexpr bool sentinel_for =
2489
    semiregular<S> && input_or_output_iterator<I> &&
2490
    detail::weakly_equality_comparable_with<S, I>;
2491
2492
template <typename S, typename I>
2493
inline constexpr bool disable_sized_sentinel = false;
2494
2495
namespace detail {
2496
2497
struct sized_sentinel_for_concept {
2498
    template <typename S, typename I>
2499
    auto requires_(const S& s, const I& i)
2500
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2501
                                                 iter_difference_t<I>>>{},
2502
                    requires_expr<std::is_same_v<decltype(i - s),
2503
                                                 iter_difference_t<I>>>{});
2504
};
2505
2506
}  // namespace detail
2507
2508
template <typename S, typename I>
2509
inline constexpr bool sized_sentinel_for =
2510
    sentinel_for<S, I> &&
2511
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2512
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2513
2514
// This is a hack, but I'm fed up with my tests breaking because GCC
2515
// has a silly extension
2516
template <typename S>
2517
inline constexpr bool sized_sentinel_for<S, void*> = false;
2518
2519
template <typename I>
2520
inline constexpr bool sized_sentinel_for<void*, I> = false;
2521
2522
template <>
2523
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2524
2525
namespace detail {
2526
2527
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2528
struct input_iterator_concept {
2529
    template <typename I>
2530
    auto requires_() -> iterator_category_t<I>;
2531
2532
    template <typename>
2533
    static auto test(long) -> std::false_type;
2534
2535
    template <typename I>
2536
    static auto test(int) -> std::enable_if_t<
2537
        input_or_output_iterator<I> && readable<I> &&
2538
            detail::requires_<input_iterator_concept, I> &&
2539
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2540
        std::true_type>;
2541
};
2542
2543
}  // namespace detail
2544
2545
template <typename I>
2546
inline constexpr bool input_iterator =
2547
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2548
2549
namespace detail {
2550
2551
struct output_iterator_concept {
2552
    template <typename I, typename T>
2553
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2554
};
2555
2556
}  // namespace detail
2557
2558
template <typename I, typename T>
2559
inline constexpr bool output_iterator =
2560
    input_or_output_iterator<I> && writable<I, T> &&
2561
    detail::requires_<detail::output_iterator_concept, I, T>;
2562
2563
namespace detail {
2564
2565
struct forward_iterator_concept {
2566
    template <typename>
2567
    static auto test(long) -> std::false_type;
2568
2569
    template <typename I>
2570
    static auto test(int) -> std::enable_if_t<
2571
        input_iterator<I> &&
2572
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2573
            incrementable<I> && sentinel_for<I, I>,
2574
        std::true_type>;
2575
};
2576
2577
}  // namespace detail
2578
2579
template <typename I>
2580
inline constexpr bool forward_iterator =
2581
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2582
2583
namespace detail {
2584
2585
struct bidirectional_iterator_concept {
2586
    template <typename I>
2587
    auto requires_(I i)
2588
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2589
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2590
2591
    template <typename>
2592
    static auto test(long) -> std::false_type;
2593
2594
    template <typename I>
2595
    static auto test(int) -> std::enable_if_t<
2596
        forward_iterator<I> &&
2597
            std::is_base_of_v<bidirectional_iterator_tag,
2598
                              iterator_category_t<I>> &&
2599
            detail::requires_<bidirectional_iterator_concept, I>,
2600
        std::true_type>;
2601
};
2602
2603
}  // namespace detail
2604
2605
template <typename I>
2606
inline constexpr bool bidirectional_iterator =
2607
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2608
2609
namespace detail {
2610
2611
struct random_access_iterator_concept {
2612
    template <typename>
2613
    static auto test(long) -> std::false_type;
2614
2615
    template <typename I>
2616
    static auto test(int) -> std::enable_if_t<
2617
        bidirectional_iterator<I> &&
2618
            std::is_base_of_v<random_access_iterator_tag,
2619
                              iterator_category_t<I>> &&
2620
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2621
            detail::requires_<random_access_iterator_concept, I>,
2622
        std::true_type>;
2623
2624
    template <typename I>
2625
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2626
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2627
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2628
#ifndef _MSC_VER
2629
                    requires_expr<std::is_same_v<decltype(n + j),
2630
                                                 I>>{},  // FIXME: MSVC doesn't
2631
                                                         // like this when I =
2632
                                                         // int*
2633
#endif
2634
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2635
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2636
                    requires_expr<
2637
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2638
};
2639
2640
}  // namespace detail
2641
2642
template <typename I>
2643
inline constexpr bool random_access_iterator =
2644
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2645
2646
namespace detail {
2647
2648
struct contiguous_iterator_concept {
2649
    template <typename>
2650
    static auto test(long) -> std::false_type;
2651
2652
    template <typename I>
2653
    static auto test(int) -> std::enable_if_t<
2654
        random_access_iterator<I> &&
2655
            /*std::is_base_of_v<contiguous_iterator_tag,
2656
                              iterator_category_t<I>> &&*/
2657
            detail::can_make_address_from_iterator<I> &&
2658
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2659
            std::is_same_v<iter_value_t<I>,
2660
                           remove_cvref_t<iter_reference_t<I>>>,
2661
        std::true_type>;
2662
};
2663
2664
}  // namespace detail
2665
2666
template <typename I>
2667
inline constexpr bool contiguous_iterator =
2668
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2669
2670
namespace detail::begin_ {
2671
2672
template <typename T>
2673
void begin(T&) = delete;
2674
template <typename T>
2675
void begin(const T&) = delete;
2676
2677
struct fn {
2678
private:
2679
    template <typename T,
2680
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2681
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2682
                  nullptr>
2683
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2684
2685
    template <typename T,
2686
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2687
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2688
        -> decltype(t + 0)
2689
    {
2690
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2691
        return t + 0;
2692
    }
2693
2694
    template <typename T>
2695
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2696
        noexcept(decay_copy(SCN_FWD(t).begin())))
2697
        -> std::enable_if_t<
2698
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2699
            decltype(decay_copy(SCN_FWD(t).begin()))>
2700
299M
    {
2701
299M
        return decay_copy(t.begin());
2702
299M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
400k
    {
2701
400k
        return decay_copy(t.begin());
2702
400k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
795k
    {
2701
795k
        return decay_copy(t.begin());
2702
795k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
1.45k
    {
2701
1.45k
        return decay_copy(t.begin());
2702
1.45k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
23.4M
    {
2701
23.4M
        return decay_copy(t.begin());
2702
23.4M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
1.74M
    {
2701
1.74M
        return decay_copy(t.begin());
2702
1.74M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
234
    {
2701
234
        return decay_copy(t.begin());
2702
234
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
260
    {
2701
260
        return decay_copy(t.begin());
2702
260
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
89.8M
    {
2701
89.8M
        return decay_copy(t.begin());
2702
89.8M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
260k
    {
2701
260k
        return decay_copy(t.begin());
2702
260k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
114
    {
2701
114
        return decay_copy(t.begin());
2702
114
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
9.75M
    {
2701
9.75M
        return decay_copy(t.begin());
2702
9.75M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
381k
    {
2701
381k
        return decay_copy(t.begin());
2702
381k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
9.52M
    {
2701
9.52M
        return decay_copy(t.begin());
2702
9.52M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
4.57M
    {
2701
4.57M
        return decay_copy(t.begin());
2702
4.57M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
90.0M
    {
2701
90.0M
        return decay_copy(t.begin());
2702
90.0M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
762k
    {
2701
762k
        return decay_copy(t.begin());
2702
762k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
45.4M
    {
2701
45.4M
        return decay_copy(t.begin());
2702
45.4M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2700
22.3M
    {
2701
22.3M
        return decay_copy(t.begin());
2702
22.3M
    }
2703
2704
    template <typename T>
2705
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2706
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2707
        -> std::enable_if_t<
2708
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2709
            decltype(decay_copy(begin(SCN_FWD(t))))>
2710
    {
2711
        return decay_copy(begin(SCN_FWD(t)));
2712
    }
2713
2714
public:
2715
    template <typename T>
2716
    constexpr auto operator()(T&& t) const
2717
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2718
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2719
299M
    {
2720
299M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
299M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
400k
    {
2720
400k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
400k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
795k
    {
2720
795k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
795k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
1.45k
    {
2720
1.45k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
1.45k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
23.4M
    {
2720
23.4M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
23.4M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
1.74M
    {
2720
1.74M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
1.74M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
234
    {
2720
234
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
234
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
260
    {
2720
260
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
260
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
89.8M
    {
2720
89.8M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
89.8M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
260k
    {
2720
260k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
260k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
114
    {
2720
114
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
114
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
9.75M
    {
2720
9.75M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
9.75M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
381k
    {
2720
381k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
381k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
9.52M
    {
2720
9.52M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
9.52M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
4.57M
    {
2720
4.57M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
4.57M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
90.0M
    {
2720
90.0M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
90.0M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
762k
    {
2720
762k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
762k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
45.4M
    {
2720
45.4M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
45.4M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2719
22.3M
    {
2720
22.3M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2721
22.3M
    }
2722
};
2723
2724
}  // namespace detail::begin_
2725
2726
inline constexpr auto begin = detail::begin_::fn{};
2727
2728
namespace detail::end_ {
2729
2730
template <typename T>
2731
void end(T&) = delete;
2732
template <typename T>
2733
void end(const T&) = delete;
2734
2735
struct fn {
2736
private:
2737
    template <typename T,
2738
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2739
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2740
                  nullptr>
2741
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2742
2743
    template <typename T,
2744
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2745
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2746
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2747
    {
2748
        return t + std::extent_v<remove_cvref_t<T>>;
2749
    }
2750
2751
    template <typename T,
2752
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2753
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2754
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2755
        noexcept(decay_copy(SCN_FWD(t).end())))
2756
        -> std::enable_if_t<sentinel_for<S, I>,
2757
                            decltype(decay_copy(SCN_FWD(t).end()))>
2758
1.42G
    {
2759
1.42G
        return decay_copy(SCN_FWD(t).end());
2760
1.42G
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
10.1M
    {
2759
10.1M
        return decay_copy(SCN_FWD(t).end());
2760
10.1M
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
90.8M
    {
2759
90.8M
        return decay_copy(SCN_FWD(t).end());
2760
90.8M
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
1.45k
    {
2759
1.45k
        return decay_copy(SCN_FWD(t).end());
2760
1.45k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
260
    {
2759
260
        return decay_copy(SCN_FWD(t).end());
2760
260
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
4.69M
    {
2759
4.69M
        return decay_copy(SCN_FWD(t).end());
2760
4.69M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
9.91M
    {
2759
9.91M
        return decay_copy(SCN_FWD(t).end());
2760
9.91M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
137M
    {
2759
137M
        return decay_copy(SCN_FWD(t).end());
2760
137M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
4.57M
    {
2759
4.57M
        return decay_copy(SCN_FWD(t).end());
2760
4.57M
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
44.6M
    {
2759
44.6M
        return decay_copy(SCN_FWD(t).end());
2760
44.6M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
46.2M
    {
2759
46.2M
        return decay_copy(SCN_FWD(t).end());
2760
46.2M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
1.05G
    {
2759
1.05G
        return decay_copy(SCN_FWD(t).end());
2760
1.05G
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2758
22.3M
    {
2759
22.3M
        return decay_copy(SCN_FWD(t).end());
2760
22.3M
    }
2761
2762
    template <typename T,
2763
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2764
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2765
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2766
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2767
    {
2768
        return decay_copy(end(SCN_FWD(t)));
2769
    }
2770
2771
public:
2772
    template <typename T>
2773
    constexpr auto operator()(T&& t) const
2774
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2775
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2776
1.42G
    {
2777
1.42G
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
1.42G
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
10.1M
    {
2777
10.1M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
10.1M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
90.8M
    {
2777
90.8M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
90.8M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
1.45k
    {
2777
1.45k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
1.45k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
260
    {
2777
260
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
260
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
4.69M
    {
2777
4.69M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
4.69M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
9.91M
    {
2777
9.91M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
9.91M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
137M
    {
2777
137M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
137M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
4.57M
    {
2777
4.57M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
4.57M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
44.6M
    {
2777
44.6M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
44.6M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
46.2M
    {
2777
46.2M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
46.2M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
1.05G
    {
2777
1.05G
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
1.05G
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2776
22.3M
    {
2777
22.3M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2778
22.3M
    }
2779
};
2780
2781
}  // namespace detail::end_
2782
2783
inline constexpr auto end = detail::end_::fn{};
2784
2785
namespace detail {
2786
struct range_concept {
2787
    template <typename T>
2788
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2789
};
2790
}  // namespace detail
2791
2792
template <typename T>
2793
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2794
2795
template <typename T>
2796
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2797
2798
template <typename R>
2799
using sentinel_t =
2800
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2801
2802
template <typename R>
2803
using range_difference_t =
2804
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2805
2806
template <typename R>
2807
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2808
2809
template <typename R>
2810
using range_reference_t =
2811
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2812
2813
namespace detail {
2814
template <typename, typename = void>
2815
inline constexpr bool is_object_pointer_v = false;
2816
template <typename P>
2817
inline constexpr bool
2818
    is_object_pointer_v<P,
2819
                        std::enable_if_t<std::is_pointer_v<P> &&
2820
                                         std::is_object_v<iter_value_t<P>>>> =
2821
        true;
2822
2823
namespace data_ {
2824
2825
struct fn {
2826
private:
2827
    template <typename T,
2828
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2829
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2830
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2831
107M
    {
2832
107M
        return t.data();
2833
107M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2831
9.64M
    {
2832
9.64M
        return t.data();
2833
9.64M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2831
45.1M
    {
2832
45.1M
        return t.data();
2833
45.1M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2831
2.23M
    {
2832
2.23M
        return t.data();
2833
2.23M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2831
5.09M
    {
2832
5.09M
        return t.data();
2833
5.09M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2831
45.4M
    {
2832
45.4M
        return t.data();
2833
45.4M
    }
2834
2835
    template <typename T>
2836
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2837
        noexcept(scn::ranges::begin(SCN_FWD(t))))
2838
        -> std::enable_if_t<
2839
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
2840
            decltype(scn::ranges::begin(SCN_FWD(t)))>
2841
0
    {
2842
0
        return scn::ranges::begin(SCN_FWD(t));
2843
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<0ul>)
2844
2845
public:
2846
    template <typename T>
2847
    constexpr auto operator()(T&& t) const
2848
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
2849
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
2850
107M
    {
2851
107M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2852
107M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2850
9.64M
    {
2851
9.64M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2852
9.64M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2850
45.1M
    {
2851
45.1M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2852
45.1M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2850
2.23M
    {
2851
2.23M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2852
2.23M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2850
5.09M
    {
2851
5.09M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2852
5.09M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2850
45.4M
    {
2851
45.4M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2852
45.4M
    }
2853
};
2854
2855
}  // namespace data_
2856
}  // namespace detail
2857
2858
inline constexpr auto data = detail::data_::fn{};
2859
2860
template <typename T>
2861
inline constexpr bool disable_sized_range = false;
2862
2863
namespace detail::size_ {
2864
2865
template <typename T>
2866
void size(T&&) = delete;
2867
template <typename T>
2868
void size(T&) = delete;
2869
2870
struct fn {
2871
private:
2872
    template <typename T, std::size_t N>
2873
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
2874
    {
2875
        return N;
2876
    }
2877
2878
    template <typename T, std::size_t N>
2879
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
2880
    {
2881
        return N;
2882
    }
2883
2884
    template <typename T,
2885
              typename I = decltype(decay_copy(std::declval<T>().size()))>
2886
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
2887
        noexcept(decay_copy(SCN_FWD(t).size())))
2888
        -> std::enable_if_t<std::is_integral_v<I> &&
2889
                                !disable_sized_range<remove_cvref_t<T>>,
2890
                            I>
2891
56.0M
    {
2892
56.0M
        return decay_copy(SCN_FWD(t).size());
2893
56.0M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2891
4.90M
    {
2892
4.90M
        return decay_copy(SCN_FWD(t).size());
2893
4.90M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2891
56
    {
2892
56
        return decay_copy(SCN_FWD(t).size());
2893
56
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2891
610k
    {
2892
610k
        return decay_copy(SCN_FWD(t).size());
2893
610k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2891
5.09M
    {
2892
5.09M
        return decay_copy(SCN_FWD(t).size());
2893
5.09M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2891
45.4M
    {
2892
45.4M
        return decay_copy(SCN_FWD(t).size());
2893
45.4M
    }
2894
2895
    template <typename T,
2896
              typename I = decltype(decay_copy(size(std::declval<T>())))>
2897
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2898
        noexcept(decay_copy(size(SCN_FWD(t)))))
2899
        -> std::enable_if_t<std::is_integral_v<I> &&
2900
                                !disable_sized_range<remove_cvref_t<T>>,
2901
                            I>
2902
    {
2903
        return decay_copy(size(SCN_FWD(t)));
2904
    }
2905
2906
    template <typename T,
2907
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
2908
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
2909
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
2910
                                                             SCN_DECLVAL(I)))>
2911
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2912
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
2913
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
2914
                                sized_sentinel_for<S, I> && forward_iterator<I>,
2915
                            D>
2916
    {
2917
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
2918
    }
2919
2920
public:
2921
    template <typename T>
2922
    constexpr auto operator()(T&& t) const
2923
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
2924
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
2925
56.0M
    {
2926
56.0M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2927
56.0M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Line
Count
Source
2925
4.90M
    {
2926
4.90M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2927
4.90M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2925
56
    {
2926
56
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2927
56
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
2925
610k
    {
2926
610k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2927
610k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2925
5.09M
    {
2926
5.09M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2927
5.09M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2925
45.4M
    {
2926
45.4M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2927
45.4M
    }
2928
};
2929
2930
}  // namespace detail::size_
2931
2932
inline constexpr auto size = detail::size_::fn{};
2933
2934
namespace detail {
2935
namespace ssize_ {
2936
struct fn {
2937
private:
2938
    template <typename T>
2939
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
2940
                                                  sizeof(std::ptrdiff_t),
2941
                                              std::ptrdiff_t,
2942
                                              range_difference_t<T>>;
2943
2944
    template <typename T>
2945
    static constexpr auto impl(T&& t) noexcept(
2946
        noexcept(ranges::size(std::forward<T>(t))))
2947
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
2948
5.51M
    {
2949
5.51M
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2950
5.51M
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Line
Count
Source
2948
4.90M
    {
2949
4.90M
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2950
4.90M
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Line
Count
Source
2948
56
    {
2949
56
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2950
56
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
2948
610k
    {
2949
610k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2950
610k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
2951
2952
public:
2953
    template <typename T>
2954
    constexpr auto operator()(T&& t) const
2955
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
2956
            -> decltype(fn::impl(std::forward<T>(t)))
2957
5.51M
    {
2958
5.51M
        return fn::impl(std::forward<T>(t));
2959
5.51M
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
2957
4.90M
    {
2958
4.90M
        return fn::impl(std::forward<T>(t));
2959
4.90M
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2957
56
    {
2958
56
        return fn::impl(std::forward<T>(t));
2959
56
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
2957
610k
    {
2958
610k
        return fn::impl(std::forward<T>(t));
2959
610k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
2960
};
2961
}  // namespace ssize_
2962
}  // namespace detail
2963
2964
inline constexpr auto ssize = detail::ssize_::fn{};
2965
2966
namespace detail::empty_ {
2967
struct fn {
2968
private:
2969
    template <typename T>
2970
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
2971
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
2972
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
2973
113M
    {
2974
113M
        return static_cast<bool>(SCN_FWD(t).empty());
2975
113M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2973
18.1M
    {
2974
18.1M
        return static_cast<bool>(SCN_FWD(t).empty());
2975
18.1M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2973
45.1M
    {
2974
45.1M
        return static_cast<bool>(SCN_FWD(t).empty());
2975
45.1M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2973
5.09M
    {
2974
5.09M
        return static_cast<bool>(SCN_FWD(t).empty());
2975
5.09M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2973
45.4M
    {
2974
45.4M
        return static_cast<bool>(SCN_FWD(t).empty());
2975
45.4M
    }
2976
2977
    template <typename T>
2978
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2979
        noexcept(ranges::size(SCN_FWD(t)) == 0))
2980
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
2981
    {
2982
        return ranges::size(SCN_FWD(t)) == 0;
2983
    }
2984
2985
    template <typename T,
2986
              typename I = decltype(ranges::begin(std::declval<T>()))>
2987
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2988
        noexcept(ranges::begin(t) == ranges::end(t)))
2989
        -> std::enable_if_t<forward_iterator<I>,
2990
                            decltype(ranges::begin(t) == ranges::end(t))>
2991
    {
2992
        return ranges::begin(t) == ranges::end(t);
2993
    }
2994
2995
public:
2996
    template <typename T>
2997
    constexpr auto operator()(T&& t) const
2998
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
2999
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3000
113M
    {
3001
113M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3002
113M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
3000
18.1M
    {
3001
18.1M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3002
18.1M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
3000
45.1M
    {
3001
45.1M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3002
45.1M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
3000
5.09M
    {
3001
5.09M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3002
5.09M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
3000
45.4M
    {
3001
45.4M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3002
45.4M
    }
3003
};
3004
}  // namespace detail::empty_
3005
3006
inline constexpr auto empty = detail::empty_::fn{};
3007
3008
template <typename T>
3009
inline constexpr bool borrowed_range =
3010
    range<T> && (std::is_lvalue_reference_v<T> ||
3011
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3012
3013
namespace detail {
3014
struct sized_range_concept {
3015
    template <typename T>
3016
    auto requires_(T& t) -> decltype(ranges::size(t));
3017
};
3018
}  // namespace detail
3019
3020
template <typename T>
3021
inline constexpr bool sized_range =
3022
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3023
    detail::requires_<detail::sized_range_concept, T>;
3024
3025
namespace detail {
3026
struct output_range_concept {
3027
    template <typename, typename>
3028
    static auto test(long) -> std::false_type;
3029
3030
    template <typename R, typename T>
3031
    static auto test(int)
3032
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3033
                            std::true_type>;
3034
};
3035
}  // namespace detail
3036
3037
template <typename R, typename T>
3038
inline constexpr bool output_range =
3039
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3040
3041
namespace detail {
3042
struct input_range_concept {
3043
    template <typename>
3044
    static auto test(long) -> std::false_type;
3045
3046
    template <typename T>
3047
    static auto test(int)
3048
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3049
                            std::true_type>;
3050
};
3051
}  // namespace detail
3052
3053
template <typename T>
3054
inline constexpr bool input_range =
3055
    decltype(detail::input_range_concept::test<T>(0))::value;
3056
3057
namespace detail {
3058
struct forward_range_concept {
3059
    template <typename>
3060
    static auto test(long) -> std::false_type;
3061
3062
    template <typename T>
3063
    static auto test(int)
3064
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3065
                            std::true_type>;
3066
};
3067
}  // namespace detail
3068
3069
template <typename T>
3070
inline constexpr bool forward_range =
3071
    decltype(detail::forward_range_concept::test<T>(0))::value;
3072
3073
namespace detail {
3074
struct bidirectional_range_concept {
3075
    template <typename>
3076
    static auto test(long) -> std::false_type;
3077
3078
    template <typename T>
3079
    static auto test(int)
3080
        -> std::enable_if_t<forward_range<T> &&
3081
                                bidirectional_iterator<iterator_t<T>>,
3082
                            std::true_type>;
3083
};
3084
}  // namespace detail
3085
3086
template <typename T>
3087
inline constexpr bool bidirectional_range =
3088
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3089
3090
namespace detail {
3091
struct random_access_range_concept {
3092
    template <typename>
3093
    static auto test(long) -> std::false_type;
3094
3095
    template <typename T>
3096
    static auto test(int)
3097
        -> std::enable_if_t<bidirectional_range<T> &&
3098
                                random_access_iterator<iterator_t<T>>,
3099
                            std::true_type>;
3100
};
3101
}  // namespace detail
3102
3103
template <typename T>
3104
inline constexpr bool random_access_range =
3105
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3106
3107
namespace detail {
3108
// FIXME: Not to spec
3109
// We only require random_access_iterator, not contiguous_iterator
3110
// This is so that vector::iterator, string::iterator etc can model
3111
// contiguous_range.
3112
// If we do range-v3-style deep integration with iterator_traits then
3113
// this could be fixed
3114
struct contiguous_range_concept {
3115
    template <typename>
3116
    static auto test(long) -> std::false_type;
3117
3118
    template <typename T>
3119
    static auto test(int) -> std::enable_if_t<
3120
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3121
                                   * &&
3122
                                   */
3123
            detail::requires_<contiguous_range_concept, T>,
3124
        std::true_type>;
3125
3126
    template <typename T>
3127
    auto requires_(T& t)
3128
        -> decltype(requires_expr<std::is_same_v<
3129
                        decltype(ranges::data(t)),
3130
                        std::add_pointer_t<range_reference_t<T>>>>{});
3131
};
3132
}  // namespace detail
3133
3134
template <typename R>
3135
inline constexpr bool contiguous_range =
3136
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3137
3138
namespace detail {
3139
struct common_range_concept {
3140
    template <typename>
3141
    static auto test(long) -> std::false_type;
3142
3143
    template <typename T>
3144
    static auto test(int)
3145
        -> std::enable_if_t<range<T> &&
3146
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3147
                            std::true_type>;
3148
};
3149
}  // namespace detail
3150
3151
template <typename T>
3152
inline constexpr bool common_range =
3153
    decltype(detail::common_range_concept::test<T>(0))::value;
3154
3155
struct dangling {
3156
    constexpr dangling() noexcept = default;
3157
3158
    template <typename... Args>
3159
    constexpr dangling(Args&&...) noexcept
3160
    {
3161
    }
3162
};
3163
3164
template <typename R>
3165
using borrowed_iterator_t =
3166
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3167
3168
template <typename D>
3169
class view_interface {
3170
    static_assert(std::is_class<D>::value, "");
3171
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3172
3173
private:
3174
    constexpr D& derived() noexcept
3175
126M
    {
3176
126M
        return static_cast<D&>(*this);
3177
126M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3175
36.3M
    {
3176
36.3M
        return static_cast<D&>(*this);
3177
36.3M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3175
90.2M
    {
3176
90.2M
        return static_cast<D&>(*this);
3177
90.2M
    }
3178
3179
    constexpr const D& derived() const noexcept
3180
101M
    {
3181
101M
        return static_cast<const D&>(*this);
3182
101M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3180
10.1M
    {
3181
10.1M
        return static_cast<const D&>(*this);
3182
10.1M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3180
90.8M
    {
3181
90.8M
        return static_cast<const D&>(*this);
3182
90.8M
    }
3183
3184
public:
3185
    template <typename R = D>
3186
    [[nodiscard]] constexpr auto empty()
3187
        -> std::enable_if_t<forward_range<R>, bool>
3188
    {
3189
        return ranges::begin(derived()) == ranges::end(derived());
3190
    }
3191
3192
    template <typename R = D>
3193
    [[nodiscard]] constexpr auto empty() const
3194
        -> std::enable_if_t<forward_range<const R>, bool>
3195
    {
3196
        return ranges::begin(derived()) == ranges::end(derived());
3197
    }
3198
3199
    template <typename R = D,
3200
              typename = decltype(ranges::empty(std::declval<R&>()))>
3201
    constexpr explicit operator bool()
3202
    {
3203
        return !ranges::empty(derived());
3204
    }
3205
3206
    template <typename R = D,
3207
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3208
    constexpr explicit operator bool() const
3209
    {
3210
        return !ranges::empty(derived());
3211
    }
3212
3213
    template <typename R = D,
3214
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3215
    constexpr auto data()
3216
63.2M
    {
3217
63.2M
        return ranges::empty(derived())
3218
63.2M
                   ? nullptr
3219
63.2M
                   : std::addressof(*ranges::begin(derived()));
3220
63.2M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3216
18.1M
    {
3217
18.1M
        return ranges::empty(derived())
3218
18.1M
                   ? nullptr
3219
18.1M
                   : std::addressof(*ranges::begin(derived()));
3220
18.1M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3216
45.1M
    {
3217
45.1M
        return ranges::empty(derived())
3218
45.1M
                   ? nullptr
3219
45.1M
                   : std::addressof(*ranges::begin(derived()));
3220
45.1M
    }
3221
3222
    template <typename R = D,
3223
              typename = std::enable_if_t<
3224
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3225
    constexpr auto data() const
3226
50.5M
    {
3227
50.5M
        return ranges::empty(derived())
3228
50.5M
                   ? nullptr
3229
50.5M
                   : std::addressof(*ranges::begin(derived()));
3230
50.5M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3226
5.09M
    {
3227
5.09M
        return ranges::empty(derived())
3228
5.09M
                   ? nullptr
3229
5.09M
                   : std::addressof(*ranges::begin(derived()));
3230
5.09M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3226
45.4M
    {
3227
45.4M
        return ranges::empty(derived())
3228
45.4M
                   ? nullptr
3229
45.4M
                   : std::addressof(*ranges::begin(derived()));
3230
45.4M
    }
3231
3232
    template <typename R = D,
3233
              typename = std::enable_if_t<
3234
                  forward_range<R> &&
3235
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3236
    constexpr auto size()
3237
    {
3238
        return ranges::end(derived()) - ranges::begin(derived());
3239
    }
3240
3241
    template <typename R = D,
3242
              typename = std::enable_if_t<
3243
                  forward_range<const R> &&
3244
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3245
    constexpr auto size() const
3246
    {
3247
        return ranges::end(derived()) - ranges::begin(derived());
3248
    }
3249
3250
#if 0
3251
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3252
    constexpr decltype(auto) front()
3253
    {
3254
        return *ranges::begin(derived());
3255
    }
3256
3257
    template <typename R = D,
3258
              typename = std::enable_if_t<forward_range<const R>>>
3259
    constexpr decltype(auto) front() const
3260
    {
3261
        return *ranges::begin(derived());
3262
    }
3263
3264
    template <
3265
        typename R = D,
3266
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3267
    constexpr decltype(auto) back()
3268
    {
3269
        return *ranges::prev(ranges::end(derived()));
3270
    }
3271
3272
    template <typename R = D,
3273
              typename = std::enable_if_t<bidirectional_range<const R> &&
3274
                                          common_range<const R>>>
3275
    constexpr decltype(auto) back() const
3276
    {
3277
        return *ranges::prev(ranges::end(derived()));
3278
    }
3279
3280
    template <typename R = D,
3281
              typename = std::enable_if_t<random_access_range<R>>>
3282
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3283
    {
3284
        return ranges::begin(derived())[n];
3285
    }
3286
#endif
3287
3288
    template <typename R = D,
3289
              typename = std::enable_if_t<random_access_range<const R>>>
3290
    constexpr decltype(auto) operator[](
3291
        iter_difference_t<iterator_t<const R>> n) const
3292
    {
3293
        return ranges::begin(derived())[n];
3294
    }
3295
};
3296
3297
namespace detail::subrange_ {
3298
3299
template <typename I, typename S = I>
3300
class subrange : public view_interface<subrange<I, S>> {
3301
    static_assert(input_or_output_iterator<I>);
3302
    static_assert(sentinel_for<S, I>);
3303
3304
public:
3305
    subrange() = default;
3306
3307
    template <typename I_,
3308
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3309
    constexpr subrange(I_ i, S s)
3310
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3311
1.40G
    {
3312
1.40G
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::subrange<char const*, (void*)0>(char const*, char const*)
Line
Count
Source
3311
46.4M
    {
3312
46.4M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange<wchar_t const*, (void*)0>(wchar_t const*, wchar_t const*)
Line
Count
Source
3311
862M
    {
3312
862M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
3311
49.0M
    {
3312
49.0M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
3311
366M
    {
3312
366M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
3311
4.01M
    {
3312
4.01M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
3311
84.3k
    {
3312
84.3k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>)
Line
Count
Source
3311
1.45k
    {
3312
1.45k
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
3311
22.3M
    {
3312
22.3M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
3311
13.1k
    {
3312
13.1k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>)
Line
Count
Source
3311
260
    {
3312
260
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, (void*)0>(std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>)
Line
Count
Source
3311
9.52M
    {
3312
9.52M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, (void*)0>(std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>)
Line
Count
Source
3311
45.4M
    {
3312
45.4M
    }
3313
3314
    template <
3315
        typename R,
3316
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3317
                         std::is_convertible_v<iterator_t<R>, I> &&
3318
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3319
    constexpr subrange(R&& r)
3320
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3321
    {
3322
    }
3323
3324
    constexpr I begin() const
3325
3.59G
    {
3326
3.59G
        return m_iterator;
3327
3.59G
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3325
175M
    {
3326
175M
        return m_iterator;
3327
175M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3325
1.06G
    {
3326
1.06G
        return m_iterator;
3327
1.06G
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3325
100M
    {
3326
100M
        return m_iterator;
3327
100M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3325
2.14G
    {
3326
2.14G
        return m_iterator;
3327
2.14G
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Line
Count
Source
3325
6.85M
    {
3326
6.85M
        return m_iterator;
3327
6.85M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Line
Count
Source
3325
236k
    {
3326
236k
        return m_iterator;
3327
236k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Line
Count
Source
3325
1.45k
    {
3326
1.45k
        return m_iterator;
3327
1.45k
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Line
Count
Source
3325
22.3M
    {
3326
22.3M
        return m_iterator;
3327
22.3M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Line
Count
Source
3325
37.0k
    {
3326
37.0k
        return m_iterator;
3327
37.0k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
3325
260
    {
3326
260
        return m_iterator;
3327
260
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3325
14.1M
    {
3326
14.1M
        return m_iterator;
3327
14.1M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3325
67.8M
    {
3326
67.8M
        return m_iterator;
3327
67.8M
    }
3328
    constexpr S end() const
3329
4.37G
    {
3330
4.37G
        return m_sentinel;
3331
4.37G
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3329
62.8M
    {
3330
62.8M
        return m_sentinel;
3331
62.8M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3329
1.95G
    {
3330
1.95G
        return m_sentinel;
3331
1.95G
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const
Line
Count
Source
3329
126M
    {
3330
126M
        return m_sentinel;
3331
126M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Line
Count
Source
3329
6.85M
    {
3330
6.85M
        return m_sentinel;
3331
6.85M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Line
Count
Source
3329
139k
    {
3330
139k
        return m_sentinel;
3331
139k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Line
Count
Source
3329
1.45k
    {
3330
1.45k
        return m_sentinel;
3331
1.45k
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const
Line
Count
Source
3329
987M
    {
3330
987M
        return m_sentinel;
3331
987M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Line
Count
Source
3329
22.3M
    {
3330
22.3M
        return m_sentinel;
3331
22.3M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Line
Count
Source
3329
34.1k
    {
3330
34.1k
        return m_sentinel;
3331
34.1k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
3329
260
    {
3330
260
        return m_sentinel;
3331
260
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3329
142M
    {
3330
142M
        return m_sentinel;
3331
142M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3329
1.07G
    {
3330
1.07G
        return m_sentinel;
3331
1.07G
    }
3332
3333
    SCN_NODISCARD constexpr bool empty() const
3334
113M
    {
3335
113M
        return m_iterator == m_sentinel;
3336
113M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::empty() const
Line
Count
Source
3334
23.2M
    {
3335
23.2M
        return m_iterator == m_sentinel;
3336
23.2M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::empty() const
Line
Count
Source
3334
90.5M
    {
3335
90.5M
        return m_iterator == m_sentinel;
3336
90.5M
    }
3337
3338
    template <typename I_ = I,
3339
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3340
    constexpr std::size_t size() const
3341
114M
    {
3342
114M
        return static_cast<size_t>(m_sentinel - m_iterator);
3343
114M
    }
unsigned long scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::size<char const*, (void*)0>() const
Line
Count
Source
3341
23.3M
    {
3342
23.3M
        return static_cast<size_t>(m_sentinel - m_iterator);
3343
23.3M
    }
unsigned long scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::size<wchar_t const*, (void*)0>() const
Line
Count
Source
3341
91.6M
    {
3342
91.6M
        return static_cast<size_t>(m_sentinel - m_iterator);
3343
91.6M
    }
3344
3345
private:
3346
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3347
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3348
};
3349
3350
template <typename I,
3351
          typename S,
3352
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3353
              nullptr>
3354
subrange(I, S) -> subrange<I, S>;
3355
3356
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3357
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3358
3359
}  // namespace detail::subrange_
3360
3361
using detail::subrange_::subrange;
3362
3363
template <typename I, typename S>
3364
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3365
3366
struct default_sentinel_t {};
3367
inline constexpr default_sentinel_t default_sentinel{};
3368
3369
}  // namespace ranges
3370
3371
namespace detail {
3372
3373
namespace char_t_fn {
3374
template <typename T, typename = typename T::value_type>
3375
constexpr auto impl_nonarray(priority_tag<2>)
3376
0
{
3377
0
    return tag_type<typename T::value_type>{};
3378
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
3379
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3380
constexpr auto impl_nonarray(priority_tag<1>)
3381
0
{
3382
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3383
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::detail::priority_tag<1ul>)
3384
template <typename T>
3385
constexpr auto impl_nonarray(priority_tag<0>)
3386
{
3387
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3388
}
3389
3390
template <typename T,
3391
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3392
constexpr auto impl()
3393
0
{
3394
0
    using T_nocvref = remove_cvref_t<T>;
3395
0
    if constexpr (std::is_array_v<T_nocvref>) {
3396
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3397
0
    }
3398
0
    else {
3399
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3400
0
    }
3401
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
3402
3403
template <typename Range>
3404
using result = decltype(impl<Range>());
3405
}  // namespace char_t_fn
3406
3407
template <typename Range>
3408
using char_t = typename char_t_fn::result<Range>::type;
3409
3410
template <typename Range, typename = void>
3411
inline constexpr bool is_file_or_narrow_range_impl = false;
3412
template <>
3413
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3414
template <typename Range>
3415
inline constexpr bool
3416
    is_file_or_narrow_range_impl<Range,
3417
                                 std::enable_if_t<ranges::range<Range>>> =
3418
        std::is_same_v<char_t<Range>, char>;
3419
3420
template <typename Range>
3421
inline constexpr bool is_file_or_narrow_range =
3422
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3423
3424
template <typename Range, typename = void>
3425
inline constexpr bool is_wide_range = false;
3426
template <typename Range>
3427
inline constexpr bool
3428
    is_wide_range<Range,
3429
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3430
        std::is_same_v<char_t<Range>, wchar_t>;
3431
3432
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3433
struct borrowed_tail_subrange {
3434
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3435
};
3436
template <typename R>
3437
struct borrowed_tail_subrange<R, false> {
3438
    using type = ranges::dangling;
3439
};
3440
3441
/// Equivalent to
3442
/// `ranges::subrange<ranges::iterator_t<R>,
3443
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3444
/// `ranges::dangling` otherwise.
3445
///
3446
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3447
/// the range sentinel.
3448
template <typename R>
3449
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3450
3451
}  // namespace detail
3452
3453
namespace ranges {
3454
template <typename CharT, typename Traits>
3455
inline constexpr bool
3456
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3457
}
3458
3459
/////////////////////////////////////////////////////////////////
3460
// Small generic algorithms
3461
/////////////////////////////////////////////////////////////////
3462
3463
namespace detail {
3464
3465
/**
3466
 * Implementation of `std::min_element` without including `<algorithm>`
3467
 */
3468
template <typename It>
3469
constexpr It min_element(It first, It last)
3470
{
3471
    if (first == last) {
3472
        return last;
3473
    }
3474
3475
    It smallest = first;
3476
    ++first;
3477
    for (; first != last; ++first) {
3478
        if (*first < *smallest) {
3479
            smallest = first;
3480
        }
3481
    }
3482
    return smallest;
3483
}
3484
3485
/**
3486
 * Implementation of `std::min` without including `<algorithm>`
3487
 */
3488
template <typename T>
3489
constexpr T min(T a, T b) noexcept
3490
{
3491
    return (b < a) ? b : a;
3492
}
3493
3494
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3495
constexpr Ptr find(Ptr first, Ptr last, T value)
3496
{
3497
    for (; first != last; ++first) {
3498
        if (*first == value) {
3499
            return first;
3500
        }
3501
    }
3502
    return last;
3503
}
3504
3505
template <>
3506
inline const char* find<false, char>(const char* first,
3507
                                     const char* last,
3508
                                     char value)
3509
0
{
3510
0
    auto ptr = static_cast<const char*>(
3511
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3512
0
    return ptr != nullptr ? ptr : last;
3513
0
}
3514
3515
}  // namespace detail
3516
3517
/////////////////////////////////////////////////////////////////
3518
// Errors
3519
/////////////////////////////////////////////////////////////////
3520
3521
/**
3522
 * Error class.
3523
 * Used as a return value for functions without a success value.
3524
 *
3525
 * \ingroup result
3526
 */
3527
class SCN_TRIVIAL_ABI scan_error {
3528
public:
3529
    /// Error code
3530
    enum code {
3531
        /// No error
3532
        good = 0,
3533
        /// EOF
3534
        end_of_range,
3535
        /// Format string was invalid
3536
        invalid_format_string,
3537
        /// Scanned value was invalid for given type.
3538
        /// e.g. a period '.' when scanning for an int
3539
        invalid_scanned_value,
3540
        /// Scanned value was out of range for the desired type.
3541
        /// (e.g. `>2^32` for an `uint32_t`)
3542
        value_out_of_range,
3543
3544
        max_error
3545
    };
3546
3547
private:
3548
    using code_t = code;
3549
3550
public:
3551
    struct success_tag_t {};
3552
    static constexpr success_tag_t success_tag() noexcept
3553
0
    {
3554
0
        return {};
3555
0
    }
3556
3557
    /// Constructs an error with `code::good` and no message.
3558
187M
    constexpr scan_error() noexcept = default;
3559
0
    constexpr scan_error(success_tag_t) noexcept : scan_error() {}
3560
3561
    /// Constructs an error with `c` and `m`
3562
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3563
8.70M
    {
3564
8.70M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3565
8.70M
    }
3566
3567
    /// Evaluated to true if there was no error
3568
    constexpr explicit operator bool() const noexcept
3569
259M
    {
3570
259M
        return m_code == good;
3571
259M
    }
3572
3573
    constexpr explicit operator code_t() const noexcept
3574
0
    {
3575
0
        return m_code;
3576
0
    }
3577
3578
    /// Get error code
3579
    SCN_NODISCARD constexpr code_t code() const noexcept
3580
1.52M
    {
3581
1.52M
        return m_code;
3582
1.52M
    }
3583
    /// Get error message
3584
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3585
0
    {
3586
0
        return m_msg;
3587
0
    }
3588
3589
private:
3590
    const char* m_msg{nullptr};
3591
    code_t m_code{good};
3592
};
3593
3594
constexpr inline bool operator==(scan_error a, scan_error b) noexcept
3595
0
{
3596
0
    return a.code() == b.code();
3597
0
}
3598
constexpr inline bool operator!=(scan_error a, scan_error b) noexcept
3599
0
{
3600
0
    return !(a == b);
3601
0
}
3602
3603
constexpr inline bool operator==(scan_error a, enum scan_error::code b) noexcept
3604
1.52M
{
3605
1.52M
    return a.code() == b;
3606
1.52M
}
3607
constexpr inline bool operator!=(scan_error a, enum scan_error::code b) noexcept
3608
1.52M
{
3609
1.52M
    return !(a == b);
3610
1.52M
}
3611
3612
constexpr inline bool operator==(enum scan_error::code a, scan_error b) noexcept
3613
0
{
3614
0
    return a == b.code();
3615
0
}
3616
constexpr inline bool operator!=(enum scan_error::code a, scan_error b) noexcept
3617
0
{
3618
0
    return !(a == b);
3619
0
}
3620
3621
namespace detail {
3622
// Intentionally not constexpr, to give out a compile-time error
3623
scan_error handle_error(scan_error e);
3624
}  // namespace detail
3625
3626
/**
3627
 * An `expected<T, scan_error>`.
3628
 *
3629
 * Not a type alias to shorten template names
3630
 *
3631
 * \ingroup result
3632
 */
3633
template <typename T>
3634
struct scan_expected : public expected<T, scan_error> {
3635
    using expected<T, scan_error>::expected;
3636
3637
    scan_expected(const expected<T, scan_error>& other)
3638
        : expected<T, scan_error>(other)
3639
    {
3640
    }
3641
    scan_expected(expected<T, scan_error>&& other)
3642
        : expected<T, scan_error>(SCN_MOVE(other))
3643
7.74M
    {
3644
7.74M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&)
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>&&)
Line
Count
Source
3643
1.21k
    {
3644
1.21k
    }
scn::v3::scan_expected<char const*>::scan_expected(scn::v3::expected<char const*, scn::v3::scan_error>&&)
Line
Count
Source
3643
2.37M
    {
3644
2.37M
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>&&)
Line
Count
Source
3643
4.08M
    {
3644
4.08M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&)
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>&&)
Line
Count
Source
3643
642
    {
3644
642
    }
scn::v3::scan_expected<wchar_t const*>::scan_expected(scn::v3::expected<wchar_t const*, scn::v3::scan_error>&&)
Line
Count
Source
3643
424k
    {
3644
424k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>&&)
Line
Count
Source
3643
860k
    {
3644
860k
    }
3645
};
3646
3647
template <typename... Args>
3648
auto unexpected_scan_error(Args&&... args)
3649
885k
{
3650
885k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
885k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [74]>(scn::v3::scan_error::code&&, char const (&) [74])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [41]>(scn::v3::scan_error::code&&, char const (&) [41])
Line
Count
Source
3649
127k
{
3650
127k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
127k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [51]>(scn::v3::scan_error::code&&, char const (&) [51])
Line
Count
Source
3649
64.7k
{
3650
64.7k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
64.7k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [37]>(scn::v3::scan_error::code&&, char const (&) [37])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [20]>(scn::v3::scan_error::code&&, char const (&) [20])
Line
Count
Source
3649
1.32k
{
3650
1.32k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
1.32k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [35]>(scn::v3::scan_error::code&&, char const (&) [35])
Line
Count
Source
3649
14.4k
{
3650
14.4k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
14.4k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [34]>(scn::v3::scan_error::code&&, char const (&) [34])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [31]>(scn::v3::scan_error::code&&, char const (&) [31])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [38]>(scn::v3::scan_error::code&&, char const (&) [38])
Line
Count
Source
3649
36.3k
{
3650
36.3k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
36.3k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [14]>(scn::v3::scan_error::code&&, char const (&) [14])
Line
Count
Source
3649
7.63k
{
3650
7.63k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
7.63k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [32]>(scn::v3::scan_error::code&&, char const (&) [32])
Line
Count
Source
3649
4.47k
{
3650
4.47k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
4.47k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [36]>(scn::v3::scan_error::code&&, char const (&) [36])
Line
Count
Source
3649
174
{
3650
174
    return unexpected(scan_error{SCN_FWD(args)...});
3651
174
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [59]>(scn::v3::scan_error::code&&, char const (&) [59])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [52]>(scn::v3::scan_error::code&&, char const (&) [52])
Line
Count
Source
3649
300
{
3650
300
    return unexpected(scan_error{SCN_FWD(args)...});
3651
300
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [66]>(scn::v3::scan_error::code&&, char const (&) [66])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [77]>(scn::v3::scan_error::code&&, char const (&) [77])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [40]>(scn::v3::scan_error::code&&, char const (&) [40])
Line
Count
Source
3649
6.12k
{
3650
6.12k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
6.12k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [42]>(scn::v3::scan_error::code&&, char const (&) [42])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [47]>(scn::v3::scan_error::code&&, char const (&) [47])
Line
Count
Source
3649
4.40k
{
3650
4.40k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
4.40k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [23]>(scn::v3::scan_error::code&&, char const (&) [23])
Line
Count
Source
3649
32
{
3650
32
    return unexpected(scan_error{SCN_FWD(args)...});
3651
32
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [19]>(scn::v3::scan_error::code&&, char const (&) [19])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [70]>(scn::v3::scan_error::code&&, char const (&) [70])
Line
Count
Source
3649
44
{
3650
44
    return unexpected(scan_error{SCN_FWD(args)...});
3651
44
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [22]>(scn::v3::scan_error::code&&, char const (&) [22])
Line
Count
Source
3649
385k
{
3650
385k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
385k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [29]>(scn::v3::scan_error::code&&, char const (&) [29])
Line
Count
Source
3649
176k
{
3650
176k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
176k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [17]>(scn::v3::scan_error::code&&, char const (&) [17])
Line
Count
Source
3649
56.1k
{
3650
56.1k
    return unexpected(scan_error{SCN_FWD(args)...});
3651
56.1k
}
3652
3653
namespace detail {
3654
template <typename T>
3655
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3656
}  // namespace detail
3657
3658
4.28M
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3659
4.28M
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3660
4.28M
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3661
3662
#define SCN_TRY_ASSIGN(init, x)                        \
3663
292M
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Line
Count
Source
3663
612k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Line
Count
Source
3663
1.08M
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3663
4
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3663
228
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Line
Count
Source
3663
49.6k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Line
Count
Source
3663
123k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3663
6
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3663
106
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3664
292M
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3665
4.28M
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3666
4.28M
    }                                                  \
3667
292M
    init = *SCN_FWD(SCN_TRY_TMP);
3668
252M
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3669
3670
#define SCN_TRY_ERR(name, x)          \
3671
    auto&& SCN_TRY_TMP = (x);         \
3672
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3673
        return SCN_TRY_TMP.error();   \
3674
    }                                 \
3675
    auto name = *SCN_FWD(SCN_TRY_TMP);
3676
3677
/////////////////////////////////////////////////////////////////
3678
// string_view utilities
3679
/////////////////////////////////////////////////////////////////
3680
3681
namespace detail {
3682
3683
template <typename T>
3684
struct is_string_view : std::false_type {};
3685
template <typename CharT, typename Traits>
3686
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3687
};
3688
3689
// workarounds for MSVC string_view debug iterators
3690
template <typename CharT>
3691
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3692
    typename std::basic_string_view<CharT>::iterator first,
3693
    typename std::basic_string_view<CharT>::iterator last)
3694
524M
{
3695
524M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3696
524M
                                          decltype(first), decltype(last)> &&
3697
524M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3698
524M
        return {first, last};
3699
524M
    }
3700
524M
    else {
3701
524M
        return {to_address(first), static_cast<size_t>(std::distance(
3702
524M
                                       to_address(first), to_address(last)))};
3703
524M
    }
3704
524M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3694
23.3M
{
3695
23.3M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3696
23.3M
                                          decltype(first), decltype(last)> &&
3697
23.3M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3698
23.3M
        return {first, last};
3699
23.3M
    }
3700
23.3M
    else {
3701
23.3M
        return {to_address(first), static_cast<size_t>(std::distance(
3702
23.3M
                                       to_address(first), to_address(last)))};
3703
23.3M
    }
3704
23.3M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3694
501M
{
3695
501M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3696
501M
                                          decltype(first), decltype(last)> &&
3697
501M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3698
501M
        return {first, last};
3699
501M
    }
3700
501M
    else {
3701
501M
        return {to_address(first), static_cast<size_t>(std::distance(
3702
501M
                                       to_address(first), to_address(last)))};
3703
501M
    }
3704
501M
}
3705
3706
template <typename CharT>
3707
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3708
    const CharT* first,
3709
    const CharT* last)
3710
28.3M
{
3711
28.3M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3712
28.3M
                                          const CharT*, const CharT*>) {
3713
28.3M
        return {first, last};
3714
28.3M
    }
3715
28.3M
    else {
3716
28.3M
        return {first, static_cast<size_t>(std::distance(first, last))};
3717
28.3M
    }
3718
28.3M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3710
5.50M
{
3711
5.50M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3712
5.50M
                                          const CharT*, const CharT*>) {
3713
5.50M
        return {first, last};
3714
5.50M
    }
3715
5.50M
    else {
3716
5.50M
        return {first, static_cast<size_t>(std::distance(first, last))};
3717
5.50M
    }
3718
5.50M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3710
22.8M
{
3711
22.8M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3712
22.8M
                                          const CharT*, const CharT*>) {
3713
22.8M
        return {first, last};
3714
22.8M
    }
3715
22.8M
    else {
3716
22.8M
        return {first, static_cast<size_t>(std::distance(first, last))};
3717
22.8M
    }
3718
22.8M
}
3719
3720
template <typename CharT>
3721
constexpr auto make_string_view_iterator(
3722
    std::basic_string_view<CharT> sv,
3723
    typename std::basic_string_view<CharT>::iterator it) ->
3724
    typename std::basic_string_view<CharT>::iterator
3725
30.3M
{
3726
30.3M
    if constexpr (std::is_constructible_v<
3727
30.3M
                      typename std::basic_string_view<CharT>::iterator,
3728
30.3M
                      decltype(it)> &&
3729
30.3M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3730
30.3M
        SCN_UNUSED(sv);
3731
30.3M
        return it;
3732
30.3M
    }
3733
30.3M
    else {
3734
30.3M
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3735
30.3M
    }
3736
30.3M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v3::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3725
30.3M
{
3726
30.3M
    if constexpr (std::is_constructible_v<
3727
30.3M
                      typename std::basic_string_view<CharT>::iterator,
3728
30.3M
                      decltype(it)> &&
3729
30.3M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3730
30.3M
        SCN_UNUSED(sv);
3731
30.3M
        return it;
3732
30.3M
    }
3733
30.3M
    else {
3734
30.3M
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3735
30.3M
    }
3736
30.3M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v3::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3725
6.09k
{
3726
6.09k
    if constexpr (std::is_constructible_v<
3727
6.09k
                      typename std::basic_string_view<CharT>::iterator,
3728
6.09k
                      decltype(it)> &&
3729
6.09k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3730
6.09k
        SCN_UNUSED(sv);
3731
6.09k
        return it;
3732
6.09k
    }
3733
6.09k
    else {
3734
6.09k
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3735
6.09k
    }
3736
6.09k
}
3737
3738
template <typename CharT>
3739
constexpr auto make_string_view_iterator_from_pointer(
3740
    std::basic_string_view<CharT> sv,
3741
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
3742
{
3743
    if constexpr (std::is_constructible_v<
3744
                      typename std::basic_string_view<CharT>::iterator,
3745
                      const CharT*> &&
3746
                  !SCN_MSVC_DEBUG_ITERATORS) {
3747
        SCN_UNUSED(sv);
3748
        return ptr;
3749
    }
3750
    else {
3751
        return sv.begin() + std::distance(sv.data(), ptr);
3752
    }
3753
}
3754
3755
/////////////////////////////////////////////////////////////////
3756
// Lightweight Unicode facilities
3757
/////////////////////////////////////////////////////////////////
3758
3759
constexpr inline bool is_ascii_code_point(char32_t cp)
3760
0
{
3761
0
    return cp <= 0x7f;
3762
0
}
3763
3764
template <typename U8>
3765
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
3766
22.6M
{
3767
22.6M
    static_assert(sizeof(U8) == 1);
3768
3769
22.6M
    SCN_GCC_COMPAT_PUSH
3770
22.6M
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
3771
22.6M
    constexpr char lengths[] =
3772
22.6M
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
3773
22.6M
        "\1\1\1\1\1\1\1\1"
3774
22.6M
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
3775
                            // byte
3776
22.6M
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
3777
22.6M
        "\3\3"              // highest bits 1110 -> 3-byte cp
3778
22.6M
        "\4";               // highest bits 11110 -> 4-byte cp
3779
22.6M
    return lengths[static_cast<unsigned char>(ch) >> 3];
3780
22.6M
    SCN_GCC_COMPAT_POP
3781
22.6M
}
3782
3783
template <typename U16>
3784
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
3785
{
3786
    static_assert(sizeof(U16) == 2);
3787
3788
    const auto lead = static_cast<uint16_t>(0xffff & ch);
3789
    if (lead >= 0xd800 && lead <= 0xdbff) {
3790
        // high surrogate
3791
        return 2;
3792
    }
3793
    if (lead >= 0xdc00 && lead <= 0xdfff) {
3794
        // unpaired low surrogate
3795
        return 0;
3796
    }
3797
    return 1;
3798
}
3799
3800
template <typename U>
3801
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
3802
1.28G
{
3803
1.28G
    if constexpr (sizeof(U) == 1) {
3804
1.26G
        return utf8_code_point_length_by_starting_code_unit(ch);
3805
1.26G
    }
3806
1.26G
    else if constexpr (sizeof(U) == 2) {
3807
1.26G
        return utf16_code_point_length_by_starting_code_unit(ch);
3808
1.26G
    }
3809
1.26G
    else {
3810
        // utf-32
3811
1.26G
        static_assert(sizeof(U) == 4);
3812
1.26G
        SCN_UNUSED(ch);
3813
1.26G
        return 1;
3814
1.26G
    }
3815
1.28G
}
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
3802
22.6M
{
3803
22.6M
    if constexpr (sizeof(U) == 1) {
3804
22.6M
        return utf8_code_point_length_by_starting_code_unit(ch);
3805
22.6M
    }
3806
22.6M
    else if constexpr (sizeof(U) == 2) {
3807
22.6M
        return utf16_code_point_length_by_starting_code_unit(ch);
3808
22.6M
    }
3809
22.6M
    else {
3810
        // utf-32
3811
22.6M
        static_assert(sizeof(U) == 4);
3812
22.6M
        SCN_UNUSED(ch);
3813
22.6M
        return 1;
3814
22.6M
    }
3815
22.6M
}
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
3802
1.26G
{
3803
1.26G
    if constexpr (sizeof(U) == 1) {
3804
1.26G
        return utf8_code_point_length_by_starting_code_unit(ch);
3805
1.26G
    }
3806
1.26G
    else if constexpr (sizeof(U) == 2) {
3807
1.26G
        return utf16_code_point_length_by_starting_code_unit(ch);
3808
1.26G
    }
3809
1.26G
    else {
3810
        // utf-32
3811
1.26G
        static_assert(sizeof(U) == 4);
3812
1.26G
        SCN_UNUSED(ch);
3813
1.26G
        return 1;
3814
1.26G
    }
3815
1.26G
}
3816
3817
inline constexpr char32_t invalid_code_point = 0x110000;
3818
3819
inline constexpr char32_t decode_utf8_code_point_exhaustive(
3820
    std::string_view input)
3821
21.5M
{
3822
21.5M
    SCN_EXPECT(!input.empty() && input.size() <= 4);
3823
3824
21.5M
    const auto is_trailing_code_unit = [](char ch) {
3825
1.75M
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
3826
1.75M
    };
3827
3828
21.5M
    if (input.size() == 1) {
3829
20.2M
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
3830
3.07k
            SCN_UNLIKELY_ATTR
3831
3.07k
            return invalid_code_point;
3832
3.07k
        }
3833
20.2M
        return static_cast<char32_t>(input[0]);
3834
20.2M
    }
3835
3836
1.36M
    if (input.size() == 2) {
3837
948k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
3838
305
            SCN_UNLIKELY_ATTR
3839
305
            return invalid_code_point;
3840
305
        }
3841
947k
        if (!is_trailing_code_unit(input[1])) {
3842
79.1k
            SCN_UNLIKELY_ATTR
3843
79.1k
            return invalid_code_point;
3844
79.1k
        }
3845
3846
868k
        char32_t cp{};
3847
868k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
3848
868k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
3849
868k
        return cp;
3850
947k
    }
3851
3852
415k
    if (input.size() == 3) {
3853
346k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
3854
208
            SCN_UNLIKELY_ATTR
3855
208
            return invalid_code_point;
3856
208
        }
3857
346k
        if (!is_trailing_code_unit(input[1]) ||
3858
346k
            !is_trailing_code_unit(input[2])) {
3859
37.8k
            SCN_UNLIKELY_ATTR
3860
37.8k
            return invalid_code_point;
3861
37.8k
        }
3862
3863
308k
        char32_t cp{};
3864
308k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
3865
308k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
3866
308k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
3867
308k
        return cp;
3868
346k
    }
3869
3870
69.0k
    if (input.size() == 4) {
3871
69.0k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
3872
0
            SCN_UNLIKELY_ATTR
3873
0
            return invalid_code_point;
3874
0
        }
3875
69.0k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
3876
14.2k
            SCN_UNLIKELY_ATTR
3877
14.2k
            return invalid_code_point;
3878
14.2k
        }
3879
54.7k
        if (!is_trailing_code_unit(input[1]) ||
3880
54.7k
            !is_trailing_code_unit(input[2]) ||
3881
54.7k
            !is_trailing_code_unit(input[3])) {
3882
13.5k
            SCN_UNLIKELY_ATTR
3883
13.5k
            return invalid_code_point;
3884
13.5k
        }
3885
3886
41.1k
        char32_t cp{};
3887
41.1k
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
3888
41.1k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
3889
41.1k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
3890
41.1k
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
3891
41.1k
        return cp;
3892
54.7k
    }
3893
3894
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
3895
    // gcc 7 thinks we'll get here, even when we won't
3896
0
    SCN_EXPECT(false);
3897
0
#endif
3898
0
    SCN_UNREACHABLE;
3899
0
}
3900
3901
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
3902
    std::string_view input)
3903
169k
{
3904
169k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
3905
3906
169k
    const auto is_trailing_code_unit = [](char ch) {
3907
19.5k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
3908
19.5k
    };
3909
3910
169k
    if (input.size() == 1) {
3911
151k
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
3912
151k
        return static_cast<char32_t>(input[0]);
3913
151k
    }
3914
3915
18.5k
    if (input.size() == 2) {
3916
17.7k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
3917
17.7k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3918
3919
17.7k
        char32_t cp{};
3920
17.7k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
3921
17.7k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
3922
17.7k
        return cp;
3923
17.7k
    }
3924
3925
802
    if (input.size() == 3) {
3926
608
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
3927
608
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3928
608
        SCN_EXPECT(is_trailing_code_unit(input[2]));
3929
3930
608
        char32_t cp{};
3931
608
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
3932
608
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
3933
608
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
3934
608
        return cp;
3935
608
    }
3936
3937
194
    if (input.size() == 4) {
3938
194
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
3939
194
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
3940
194
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3941
194
        SCN_EXPECT(is_trailing_code_unit(input[2]));
3942
194
        SCN_EXPECT(is_trailing_code_unit(input[3]));
3943
3944
194
        char32_t cp{};
3945
194
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
3946
194
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
3947
194
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
3948
194
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
3949
194
        return cp;
3950
194
    }
3951
3952
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
3953
    // gcc 7 thinks we'll get here, even when we won't
3954
0
    SCN_EXPECT(false);
3955
0
#endif
3956
0
    SCN_UNREACHABLE;
3957
0
}
3958
3959
template <typename CharT>
3960
inline constexpr char32_t decode_utf16_code_point_exhaustive(
3961
    std::basic_string_view<CharT> input)
3962
{
3963
    static_assert(sizeof(CharT) == 2);
3964
3965
    SCN_EXPECT(!input.empty() && input.size() <= 2);
3966
3967
    if (input.size() == 1) {
3968
        return static_cast<char32_t>(input[0]);
3969
    }
3970
3971
    const auto lead = static_cast<uint32_t>(input[0]);
3972
    const auto trail = static_cast<uint32_t>(input[1]);
3973
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
3974
        SCN_UNLIKELY_ATTR
3975
        return invalid_code_point;
3976
    }
3977
3978
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
3979
    return static_cast<char32_t>(cp + 0x10000);
3980
}
3981
3982
template <typename CharT>
3983
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
3984
    std::basic_string_view<CharT> input)
3985
{
3986
    static_assert(sizeof(CharT) == 2);
3987
3988
    SCN_EXPECT(!input.empty() && input.size() <= 2);
3989
3990
    if (input.size() == 1) {
3991
        return static_cast<char32_t>(input[0]);
3992
    }
3993
3994
    const auto lead = static_cast<uint32_t>(input[0]);
3995
    const auto trail = static_cast<uint32_t>(input[1]);
3996
    SCN_EXPECT(lead >= 0xd800);
3997
    SCN_EXPECT(lead <= 0xdbff);
3998
    SCN_EXPECT(trail >= 0xdc00);
3999
    SCN_EXPECT(trail <= 0xdfff);
4000
4001
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4002
    return static_cast<char32_t>(cp + 0x10000);
4003
}
4004
4005
template <typename CharT>
4006
inline constexpr char32_t decode_code_point_exhaustive(
4007
    std::basic_string_view<CharT> input)
4008
1.28G
{
4009
1.28G
    if constexpr (sizeof(CharT) == 1) {
4010
1.26G
        return decode_utf8_code_point_exhaustive(input);
4011
1.26G
    }
4012
1.26G
    else if constexpr (sizeof(CharT) == 2) {
4013
1.26G
        return decode_utf16_code_point_exhaustive(input);
4014
1.26G
    }
4015
1.26G
    else {
4016
1.26G
        SCN_EXPECT(input.size() == 1);
4017
1.26G
        auto cp = static_cast<char32_t>(input.front());
4018
1.26G
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4019
1.83M
            return invalid_code_point;
4020
1.83M
        }
4021
1.26G
        return cp;
4022
1.26G
    }
4023
1.28G
}
char32_t scn::v3::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4008
21.5M
{
4009
21.5M
    if constexpr (sizeof(CharT) == 1) {
4010
21.5M
        return decode_utf8_code_point_exhaustive(input);
4011
21.5M
    }
4012
21.5M
    else if constexpr (sizeof(CharT) == 2) {
4013
21.5M
        return decode_utf16_code_point_exhaustive(input);
4014
21.5M
    }
4015
21.5M
    else {
4016
21.5M
        SCN_EXPECT(input.size() == 1);
4017
21.5M
        auto cp = static_cast<char32_t>(input.front());
4018
21.5M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4019
21.5M
            return invalid_code_point;
4020
21.5M
        }
4021
21.5M
        return cp;
4022
21.5M
    }
4023
21.5M
}
char32_t scn::v3::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4008
1.26G
{
4009
1.26G
    if constexpr (sizeof(CharT) == 1) {
4010
1.26G
        return decode_utf8_code_point_exhaustive(input);
4011
1.26G
    }
4012
1.26G
    else if constexpr (sizeof(CharT) == 2) {
4013
1.26G
        return decode_utf16_code_point_exhaustive(input);
4014
1.26G
    }
4015
1.26G
    else {
4016
1.26G
        SCN_EXPECT(input.size() == 1);
4017
1.26G
        auto cp = static_cast<char32_t>(input.front());
4018
1.26G
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4019
1.83M
            return invalid_code_point;
4020
1.83M
        }
4021
1.26G
        return cp;
4022
1.26G
    }
4023
1.26G
}
4024
4025
template <typename CharT>
4026
inline constexpr char32_t decode_code_point_exhaustive_valid(
4027
    std::basic_string_view<CharT> input)
4028
169k
{
4029
169k
    if constexpr (sizeof(CharT) == 1) {
4030
0
        return decode_utf8_code_point_exhaustive_valid(input);
4031
0
    }
4032
0
    else if constexpr (sizeof(CharT) == 2) {
4033
0
        return decode_utf16_code_point_exhaustive_valid(input);
4034
0
    }
4035
0
    else {
4036
0
        SCN_EXPECT(input.size() == 1);
4037
0
        return static_cast<char32_t>(input.front());
4038
0
    }
4039
169k
}
char32_t scn::v3::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4028
169k
{
4029
169k
    if constexpr (sizeof(CharT) == 1) {
4030
169k
        return decode_utf8_code_point_exhaustive_valid(input);
4031
169k
    }
4032
169k
    else if constexpr (sizeof(CharT) == 2) {
4033
169k
        return decode_utf16_code_point_exhaustive_valid(input);
4034
169k
    }
4035
169k
    else {
4036
169k
        SCN_EXPECT(input.size() == 1);
4037
169k
        return static_cast<char32_t>(input.front());
4038
169k
    }
4039
169k
}
Unexecuted instantiation: char32_t scn::v3::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4040
4041
}  // namespace detail
4042
4043
/////////////////////////////////////////////////////////////////
4044
// scan_buffer
4045
/////////////////////////////////////////////////////////////////
4046
4047
namespace detail {
4048
template <typename CharT>
4049
class basic_scan_buffer {
4050
public:
4051
    class forward_iterator;
4052
4053
    using char_type = CharT;
4054
    using range_type =
4055
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4056
4057
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4058
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4059
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4060
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4061
28.0M
    virtual ~basic_scan_buffer() = default;
scn::v3::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4061
4.95M
    virtual ~basic_scan_buffer() = default;
scn::v3::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4061
23.1M
    virtual ~basic_scan_buffer() = default;
4062
4063
    virtual bool fill() = 0;
4064
4065
    virtual void sync(std::ptrdiff_t position)
4066
28.0M
    {
4067
28.0M
        SCN_UNUSED(position);
4068
28.0M
    }
scn::v3::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4066
4.95M
    {
4067
4.95M
        SCN_UNUSED(position);
4068
4.95M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4066
23.1M
    {
4067
23.1M
        SCN_UNUSED(position);
4068
23.1M
    }
4069
4070
    void sync_all()
4071
1.14M
    {
4072
1.14M
        sync(0);
4073
1.14M
    }
scn::v3::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4071
381k
    {
4072
381k
        sync(0);
4073
381k
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4071
762k
    {
4072
762k
        sync(0);
4073
762k
    }
4074
4075
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4076
198G
    {
4077
198G
        return m_putback_buffer.size() + m_current_view.size();
4078
198G
    }
scn::v3::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4076
451M
    {
4077
451M
        return m_putback_buffer.size() + m_current_view.size();
4078
451M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4076
198G
    {
4077
198G
        return m_putback_buffer.size() + m_current_view.size();
4078
198G
    }
4079
4080
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4081
0
    {
4082
0
        return m_current_view;
4083
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::current_view() const
4084
4085
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4086
0
    {
4087
0
        return m_putback_buffer;
4088
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4089
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4090
    {
4091
        return m_putback_buffer;
4092
    }
4093
4094
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4095
        std::ptrdiff_t pos) const
4096
85.6M
    {
4097
85.6M
        if (SCN_UNLIKELY(
4098
85.6M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4099
51.4M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4100
51.4M
        }
4101
34.1M
        const auto start = pos - m_putback_buffer.size();
4102
34.1M
        SCN_EXPECT(start <= m_current_view.size());
4103
34.1M
        return m_current_view.substr(start);
4104
34.1M
    }
scn::v3::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4096
17.9M
    {
4097
17.9M
        if (SCN_UNLIKELY(
4098
17.9M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4099
6.73M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4100
6.73M
        }
4101
11.1M
        const auto start = pos - m_putback_buffer.size();
4102
11.1M
        SCN_EXPECT(start <= m_current_view.size());
4103
11.1M
        return m_current_view.substr(start);
4104
11.1M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
Line
Count
Source
4096
67.6M
    {
4097
67.6M
        if (SCN_UNLIKELY(
4098
67.6M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4099
44.7M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4100
44.7M
        }
4101
22.9M
        const auto start = pos - m_putback_buffer.size();
4102
22.9M
        SCN_EXPECT(start <= m_current_view.size());
4103
22.9M
        return m_current_view.substr(start);
4104
22.9M
    }
4105
4106
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4107
708M
    {
4108
708M
        if (SCN_UNLIKELY(
4109
708M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4110
343M
            return m_putback_buffer[pos];
4111
343M
        }
4112
364M
        const auto start = pos - m_putback_buffer.size();
4113
364M
        SCN_EXPECT(start < m_current_view.size());
4114
364M
        return m_current_view[start];
4115
364M
    }
scn::v3::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4107
99.1M
    {
4108
99.1M
        if (SCN_UNLIKELY(
4109
99.1M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4110
62.6M
            return m_putback_buffer[pos];
4111
62.6M
        }
4112
36.4M
        const auto start = pos - m_putback_buffer.size();
4113
36.4M
        SCN_EXPECT(start < m_current_view.size());
4114
36.4M
        return m_current_view[start];
4115
36.4M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4107
609M
    {
4108
609M
        if (SCN_UNLIKELY(
4109
609M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4110
281M
            return m_putback_buffer[pos];
4111
281M
        }
4112
328M
        const auto start = pos - m_putback_buffer.size();
4113
328M
        SCN_EXPECT(start < m_current_view.size());
4114
328M
        return m_current_view[start];
4115
328M
    }
4116
4117
    SCN_NODISCARD bool is_contiguous() const
4118
84.2M
    {
4119
84.2M
        return m_is_contiguous;
4120
84.2M
    }
scn::v3::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4118
14.8M
    {
4119
14.8M
        return m_is_contiguous;
4120
14.8M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4118
69.3M
    {
4119
69.3M
        return m_is_contiguous;
4120
69.3M
    }
4121
4122
    SCN_NODISCARD auto get_contiguous() const
4123
0
    {
4124
0
        SCN_EXPECT(is_contiguous());
4125
0
        return ranges::subrange<const CharT*>{
4126
0
            current_view().data(),
4127
0
            current_view().data() + current_view().size()};
4128
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4129
4130
    SCN_NODISCARD range_type get();
4131
4132
protected:
4133
    friend class forward_iterator;
4134
4135
    struct contiguous_tag {};
4136
    struct non_contiguous_tag {};
4137
4138
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4139
        : m_current_view(sv), m_is_contiguous(true)
4140
0
    {
4141
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4142
4143
    basic_scan_buffer(non_contiguous_tag,
4144
                      std::basic_string_view<char_type> sv = {})
4145
        : m_current_view(sv), m_is_contiguous(false)
4146
28.0M
    {
4147
28.0M
    }
scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4146
4.95M
    {
4147
4.95M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4146
23.1M
    {
4147
23.1M
    }
4148
4149
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4150
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4151
    {
4152
    }
4153
4154
    std::basic_string_view<char_type> m_current_view{};
4155
    std::basic_string<char_type> m_putback_buffer{};
4156
    bool m_is_contiguous{false};
4157
};
4158
4159
template <typename CharT>
4160
class basic_scan_buffer<CharT>::forward_iterator {
4161
public:
4162
    using value_type = CharT;
4163
    using reference = CharT;
4164
    using pointer = CharT*;
4165
    using difference_type = std::ptrdiff_t;
4166
    using iterator_category = std::forward_iterator_tag;
4167
4168
    forward_iterator() = default;
4169
4170
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4171
        : m_begin(parent), m_end(nullptr), m_position(pos)
4172
28.0M
    {
4173
28.0M
        SCN_EXPECT(parent);
4174
28.0M
        SCN_EXPECT(!parent->is_contiguous());
4175
28.0M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4172
4.95M
    {
4173
4.95M
        SCN_EXPECT(parent);
4174
4.95M
        SCN_EXPECT(!parent->is_contiguous());
4175
4.95M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4172
23.1M
    {
4173
23.1M
        SCN_EXPECT(parent);
4174
23.1M
        SCN_EXPECT(!parent->is_contiguous());
4175
23.1M
    }
4176
4177
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4178
        : m_begin(const_cast<CharT*>(view.data())),
4179
          m_end(const_cast<CharT*>(view.data() + view.size())),
4180
          m_position(pos)
4181
0
    {
4182
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4183
4184
    std::ptrdiff_t position() const
4185
112M
    {
4186
112M
        return m_position;
4187
112M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4185
30.6M
    {
4186
30.6M
        return m_position;
4187
30.6M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4185
82.1M
    {
4186
82.1M
        return m_position;
4187
82.1M
    }
4188
4189
    bool stores_parent() const
4190
398G
    {
4191
398G
        return m_end == nullptr;
4192
398G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4190
1.09G
    {
4191
1.09G
        return m_end == nullptr;
4192
1.09G
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4190
397G
    {
4191
397G
        return m_end == nullptr;
4192
397G
    }
4193
4194
    basic_scan_buffer<CharT>* parent()
4195
9.72M
    {
4196
9.72M
        SCN_EXPECT(stores_parent());
4197
9.72M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4198
9.72M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent()
Line
Count
Source
4195
8.65M
    {
4196
8.65M
        SCN_EXPECT(stores_parent());
4197
8.65M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4198
8.65M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
Line
Count
Source
4195
1.07M
    {
4196
1.07M
        SCN_EXPECT(stores_parent());
4197
1.07M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4198
1.07M
    }
4199
    const basic_scan_buffer<CharT>* parent() const
4200
199G
    {
4201
199G
        SCN_EXPECT(stores_parent());
4202
199G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4203
199G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4200
606M
    {
4201
606M
        SCN_EXPECT(stores_parent());
4202
606M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4203
606M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4200
199G
    {
4201
199G
        SCN_EXPECT(stores_parent());
4202
199G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4203
199G
    }
4204
4205
    std::basic_string_view<CharT> contiguous_segment() const
4206
85.6M
    {
4207
85.6M
        if (!stores_parent()) {
4208
0
            return make_string_view_from_pointers(
4209
0
                static_cast<const CharT*>(m_begin) + position(),
4210
0
                static_cast<const CharT*>(m_end));
4211
0
        }
4212
85.6M
        return parent()->get_segment_starting_at(position());
4213
85.6M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4206
17.9M
    {
4207
17.9M
        if (!stores_parent()) {
4208
0
            return make_string_view_from_pointers(
4209
0
                static_cast<const CharT*>(m_begin) + position(),
4210
0
                static_cast<const CharT*>(m_end));
4211
0
        }
4212
17.9M
        return parent()->get_segment_starting_at(position());
4213
17.9M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4206
67.6M
    {
4207
67.6M
        if (!stores_parent()) {
4208
0
            return make_string_view_from_pointers(
4209
0
                static_cast<const CharT*>(m_begin) + position(),
4210
0
                static_cast<const CharT*>(m_end));
4211
0
        }
4212
67.6M
        return parent()->get_segment_starting_at(position());
4213
67.6M
    }
4214
    auto to_contiguous_segment_iterator() const
4215
    {
4216
        return contiguous_segment().data();
4217
    }
4218
4219
    forward_iterator& operator++()
4220
196G
    {
4221
196G
        ++m_position;
4222
196G
        (void)read_at_position();
4223
196G
        return *this;
4224
196G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4220
165M
    {
4221
165M
        ++m_position;
4222
165M
        (void)read_at_position();
4223
165M
        return *this;
4224
165M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4220
196G
    {
4221
196G
        ++m_position;
4222
196G
        (void)read_at_position();
4223
196G
        return *this;
4224
196G
    }
4225
4226
    forward_iterator operator++(int)
4227
    {
4228
        auto copy = *this;
4229
        operator++();
4230
        return copy;
4231
    }
4232
4233
    CharT operator*() const
4234
708M
    {
4235
708M
        SCN_EXPECT(m_begin);
4236
4237
708M
        if (!stores_parent()) {
4238
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4239
0
            SCN_EXPECT(ptr != m_end);
4240
0
            return *ptr;
4241
0
        }
4242
4243
708M
        auto res = read_at_position();
4244
708M
        SCN_EXPECT(res);
4245
708M
        return parent()->get_character_at(m_position);
4246
708M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4234
99.1M
    {
4235
99.1M
        SCN_EXPECT(m_begin);
4236
4237
99.1M
        if (!stores_parent()) {
4238
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4239
0
            SCN_EXPECT(ptr != m_end);
4240
0
            return *ptr;
4241
0
        }
4242
4243
99.1M
        auto res = read_at_position();
4244
99.1M
        SCN_EXPECT(res);
4245
99.1M
        return parent()->get_character_at(m_position);
4246
99.1M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4234
609M
    {
4235
609M
        SCN_EXPECT(m_begin);
4236
4237
609M
        if (!stores_parent()) {
4238
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4239
0
            SCN_EXPECT(ptr != m_end);
4240
0
            return *ptr;
4241
0
        }
4242
4243
609M
        auto res = read_at_position();
4244
609M
        SCN_EXPECT(res);
4245
609M
        return parent()->get_character_at(m_position);
4246
609M
    }
4247
4248
    forward_iterator& batch_advance(std::ptrdiff_t n)
4249
    {
4250
        SCN_EXPECT(n >= 0);
4251
        m_position += n;
4252
        return *this;
4253
    }
4254
4255
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4256
0
    {
4257
0
        SCN_EXPECT(i >= m_position);
4258
0
        m_position = i;
4259
0
        return *this;
4260
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4261
4262
    friend bool operator==(const forward_iterator& lhs,
4263
                           const forward_iterator& rhs)
4264
196G
    {
4265
196G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4266
196G
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4264
90.8M
    {
4265
90.8M
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4266
90.8M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4264
196G
    {
4265
196G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4266
196G
    }
4267
    friend bool operator!=(const forward_iterator& lhs,
4268
                           const forward_iterator& rhs)
4269
196G
    {
4270
196G
        return !(lhs == rhs);
4271
196G
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4269
82.5M
    {
4270
82.5M
        return !(lhs == rhs);
4271
82.5M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4269
196G
    {
4270
196G
        return !(lhs == rhs);
4271
196G
    }
4272
4273
    friend bool operator==(const forward_iterator& x,
4274
                           ranges::default_sentinel_t)
4275
330M
    {
4276
330M
        return x.is_at_end();
4277
330M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4275
36.5M
    {
4276
36.5M
        return x.is_at_end();
4277
36.5M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4275
293M
    {
4276
293M
        return x.is_at_end();
4277
293M
    }
4278
    friend bool operator==(ranges::default_sentinel_t,
4279
                           const forward_iterator& x)
4280
    {
4281
        return x.is_at_end();
4282
    }
4283
4284
    friend bool operator!=(const forward_iterator& x,
4285
                           ranges::default_sentinel_t)
4286
409M
    {
4287
409M
        return !x.is_at_end();
4288
409M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4286
49.2M
    {
4287
49.2M
        return !x.is_at_end();
4288
49.2M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4286
360M
    {
4287
360M
        return !x.is_at_end();
4288
360M
    }
4289
    friend bool operator!=(ranges::default_sentinel_t,
4290
                           const forward_iterator& x)
4291
    {
4292
        return !x.is_at_end();
4293
    }
4294
4295
private:
4296
    friend class basic_scan_buffer<CharT>;
4297
4298
    SCN_NODISCARD bool read_at_position() const
4299
197G
    {
4300
197G
        SCN_EXPECT(m_begin);
4301
4302
197G
        if (!stores_parent()) {
4303
0
            return true;
4304
0
        }
4305
4306
197G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4307
197G
            return true;
4308
197G
        }
4309
4310
796M
        while (m_position >= parent()->chars_available()) {
4311
398M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4312
1.06M
                return false;
4313
1.06M
            }
4314
398M
        }
4315
397M
        return true;
4316
398M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4299
350M
    {
4300
350M
        SCN_EXPECT(m_begin);
4301
4302
350M
        if (!stores_parent()) {
4303
0
            return true;
4304
0
        }
4305
4306
350M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4307
304M
            return true;
4308
304M
        }
4309
4310
92.2M
        while (m_position >= parent()->chars_available()) {
4311
46.4M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4312
726k
                return false;
4313
726k
            }
4314
46.4M
        }
4315
45.7M
        return true;
4316
46.4M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4299
197G
    {
4300
197G
        SCN_EXPECT(m_begin);
4301
4302
197G
        if (!stores_parent()) {
4303
0
            return true;
4304
0
        }
4305
4306
197G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4307
197G
            return true;
4308
197G
        }
4309
4310
703M
        while (m_position >= parent()->chars_available()) {
4311
352M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4312
341k
                return false;
4313
341k
            }
4314
352M
        }
4315
351M
        return true;
4316
352M
    }
4317
4318
    SCN_NODISCARD bool is_at_end() const
4319
739M
    {
4320
739M
        if (m_end) {
4321
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4322
0
        }
4323
739M
        if (!m_begin) {
4324
0
            return true;
4325
0
        }
4326
739M
        return !read_at_position();
4327
739M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4319
85.8M
    {
4320
85.8M
        if (m_end) {
4321
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4322
0
        }
4323
85.8M
        if (!m_begin) {
4324
0
            return true;
4325
0
        }
4326
85.8M
        return !read_at_position();
4327
85.8M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4319
653M
    {
4320
653M
        if (m_end) {
4321
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4322
0
        }
4323
653M
        if (!m_begin) {
4324
0
            return true;
4325
0
        }
4326
653M
        return !read_at_position();
4327
653M
    }
4328
4329
    // If m_end is null, m_begin points to the parent scan_buffer
4330
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4331
    // the entire range)
4332
    mutable void* m_begin{nullptr};
4333
    mutable void* m_end{nullptr};
4334
    std::ptrdiff_t m_position{0};
4335
};
4336
4337
template <typename CharT>
4338
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4339
28.0M
{
4340
28.0M
    if (is_contiguous()) {
4341
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4342
0
                                ranges::default_sentinel};
4343
0
    }
4344
28.0M
    return ranges::subrange{forward_iterator{this, 0},
4345
28.0M
                            ranges::default_sentinel};
4346
28.0M
}
scn::v3::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4339
4.95M
{
4340
4.95M
    if (is_contiguous()) {
4341
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4342
0
                                ranges::default_sentinel};
4343
0
    }
4344
4.95M
    return ranges::subrange{forward_iterator{this, 0},
4345
4.95M
                            ranges::default_sentinel};
4346
4.95M
}
scn::v3::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4339
23.1M
{
4340
23.1M
    if (is_contiguous()) {
4341
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4342
0
                                ranges::default_sentinel};
4343
0
    }
4344
23.1M
    return ranges::subrange{forward_iterator{this, 0},
4345
23.1M
                            ranges::default_sentinel};
4346
23.1M
}
4347
4348
static_assert(ranges::forward_range<scan_buffer::range_type>);
4349
4350
template <typename CharT>
4351
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4352
    using base = basic_scan_buffer<CharT>;
4353
4354
public:
4355
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4356
        : base(typename base::contiguous_tag{}, sv)
4357
0
    {
4358
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4359
4360
    bool fill() override
4361
0
    {
4362
0
        SCN_EXPECT(false);
4363
0
        SCN_UNREACHABLE;
4364
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::fill()
4365
};
4366
4367
template <typename CharT>
4368
basic_scan_string_buffer(std::basic_string_view<CharT>)
4369
    -> basic_scan_string_buffer<CharT>;
4370
4371
template <typename CharT>
4372
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4373
    using base = basic_scan_buffer<CharT>;
4374
4375
protected:
4376
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4377
28.0M
    {
4378
28.0M
    }
scn::v3::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4377
4.95M
    {
4378
4.95M
    }
scn::v3::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4377
23.1M
    {
4378
23.1M
    }
4379
};
4380
4381
template <typename I, typename S>
4382
using less_than_compare =
4383
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4384
4385
template <typename Range>
4386
class basic_scan_forward_buffer_impl
4387
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4388
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4389
4390
    using _char_type = detail::char_t<Range>;
4391
    using base = basic_scan_forward_buffer_base<_char_type>;
4392
4393
public:
4394
    using char_type = _char_type;
4395
    using range_type = Range;
4396
    using iterator = ranges::iterator_t<const Range>;
4397
    using sentinel = ranges::sentinel_t<const Range>;
4398
4399
    template <
4400
        typename R,
4401
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4402
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4403
    basic_scan_forward_buffer_impl(R&& r)
4404
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4405
          m_cursor(ranges::begin(*m_range))
4406
28.0M
    {
4407
28.0M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4406
4.95M
    {
4407
4.95M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4406
23.1M
    {
4407
23.1M
    }
4408
4409
    bool fill() override
4410
398M
    {
4411
398M
        if (m_cursor == ranges::end(*m_range)) {
4412
1.06M
            return false;
4413
1.06M
        }
4414
397M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4415
397M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4416
397M
        }
4417
397M
        if (!this->m_current_view.empty()) {
4418
369M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4419
369M
                                          this->m_current_view.begin(),
4420
369M
                                          this->m_current_view.end());
4421
369M
        }
4422
397M
        m_latest = *m_cursor;
4423
397M
        ++m_cursor;
4424
397M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4425
397M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4426
397M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4427
397M
        }
4428
397M
        return true;
4429
397M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4410
46.4M
    {
4411
46.4M
        if (m_cursor == ranges::end(*m_range)) {
4412
726k
            return false;
4413
726k
        }
4414
45.7M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4415
45.7M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4416
45.7M
        }
4417
45.7M
        if (!this->m_current_view.empty()) {
4418
40.9M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4419
40.9M
                                          this->m_current_view.begin(),
4420
40.9M
                                          this->m_current_view.end());
4421
40.9M
        }
4422
45.7M
        m_latest = *m_cursor;
4423
45.7M
        ++m_cursor;
4424
45.7M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4425
45.7M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4426
45.7M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4427
45.7M
        }
4428
45.7M
        return true;
4429
45.7M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4410
352M
    {
4411
352M
        if (m_cursor == ranges::end(*m_range)) {
4412
341k
            return false;
4413
341k
        }
4414
351M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4415
351M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4416
351M
        }
4417
351M
        if (!this->m_current_view.empty()) {
4418
328M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4419
328M
                                          this->m_current_view.begin(),
4420
328M
                                          this->m_current_view.end());
4421
328M
        }
4422
351M
        m_latest = *m_cursor;
4423
351M
        ++m_cursor;
4424
351M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4425
351M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4426
351M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4427
351M
        }
4428
351M
        return true;
4429
351M
    }
4430
4431
private:
4432
    const Range* m_range;
4433
    iterator m_cursor;
4434
    char_type m_latest{};
4435
};
4436
4437
template <typename R>
4438
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4439
4440
class scan_file_buffer : public basic_scan_buffer<char> {
4441
    using base = basic_scan_buffer<char>;
4442
4443
public:
4444
    scan_file_buffer(std::FILE* file);
4445
    ~scan_file_buffer();
4446
4447
    bool fill() override;
4448
    void sync(std::ptrdiff_t position) override;
4449
4450
private:
4451
    std::FILE* m_file;
4452
    std::optional<char_type> m_latest{std::nullopt};
4453
};
4454
4455
template <typename CharT>
4456
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
4457
    using base = basic_scan_buffer<CharT>;
4458
4459
public:
4460
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
4461
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
4462
          m_other(&other),
4463
          m_starting_pos(starting_pos)
4464
    {
4465
        this->m_current_view = other.get_segment_starting_at(starting_pos);
4466
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
4467
                                    this->m_current_view.end();
4468
    }
4469
4470
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
4471
        : base(true, view), m_other(nullptr)
4472
    {
4473
    }
4474
4475
    bool fill() override
4476
0
    {
4477
0
        if (!m_other) {
4478
0
            return false;
4479
0
        }
4480
0
        SCN_EXPECT(m_starting_pos >= 0);
4481
0
4482
0
        if (m_fill_needs_to_propagate) {
4483
0
            auto ret = m_other->fill();
4484
0
            this->m_current_view = m_other->current_view();
4485
0
            this->m_putback_buffer =
4486
0
                m_other->putback_buffer().substr(m_starting_pos);
4487
0
            return ret;
4488
0
        }
4489
0
4490
0
        m_fill_needs_to_propagate = true;
4491
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
4492
0
        this->m_current_view = m_other->current_view();
4493
0
        return true;
4494
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<wchar_t>::fill()
4495
4496
private:
4497
    base* m_other;
4498
    std::ptrdiff_t m_starting_pos{-1};
4499
    bool m_fill_needs_to_propagate{false};
4500
};
4501
4502
template <typename CharT>
4503
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
4504
    -> basic_scan_ref_buffer<CharT>;
4505
4506
template <typename CharT>
4507
basic_scan_ref_buffer(std::basic_string_view<CharT>)
4508
    -> basic_scan_ref_buffer<CharT>;
4509
4510
template <typename Range>
4511
auto make_string_scan_buffer(const Range& range)
4512
{
4513
    return basic_scan_string_buffer(
4514
        std::basic_string_view{ranges::data(range), ranges::size(range)});
4515
}
4516
4517
template <typename Range>
4518
auto make_forward_scan_buffer(const Range& range)
4519
28.0M
{
4520
28.0M
    return basic_scan_forward_buffer_impl(range);
4521
28.0M
}
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4519
4.95M
{
4520
4.95M
    return basic_scan_forward_buffer_impl(range);
4521
4.95M
}
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4519
23.1M
{
4520
23.1M
    return basic_scan_forward_buffer_impl(range);
4521
23.1M
}
4522
4523
inline auto make_file_scan_buffer(std::FILE* file)
4524
0
{
4525
0
    return scan_file_buffer(file);
4526
0
}
4527
}  // namespace detail
4528
4529
/////////////////////////////////////////////////////////////////
4530
// make_scan_buffer
4531
/////////////////////////////////////////////////////////////////
4532
4533
/**
4534
 * \defgroup scannable Scannable sources
4535
 *
4536
 * \brief Description of the `scannable_range` and `scannable_source`
4537
 * concepts.
4538
 *
4539
 * A range is considered scannable, if it models at least `forward_range`,
4540
 * and its character type is correct (its value type is the same as the one
4541
 * of the format string).
4542
 * If the range additionally models `contiguous_range` and `sized_range`,
4543
 * additional optimizations are enabled.
4544
 *
4545
 * \code{.cpp}
4546
 * // Exposition only
4547
 * template <typename Range, typename CharT>
4548
 * concept scannable_range =
4549
 *     ranges::forward_range<Range> &&
4550
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
4551
 * \endcode
4552
 *
4553
 * Additionally, files (`std::FILE*`) can be scanned from.
4554
 * Files are always considered to be narrow (`char`-oriented).
4555
 * Thus, the entire concept is:
4556
 *
4557
 * \code{.cpp}
4558
 * // Exposition only
4559
 * template <typename Source, typename CharT>
4560
 * concept scannable_source =
4561
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
4562
 *    std::same_as<CharT, char>) ||
4563
 *   scannable_range<Source, CharT>;
4564
 * \endcode
4565
 */
4566
4567
/**
4568
 * Tag type to indicate an invalid range given to `scn::scan`
4569
 *
4570
 * \ingroup scannable
4571
 */
4572
struct invalid_input_range {};
4573
4574
struct invalid_char_type : invalid_input_range {};
4575
struct custom_char_traits : invalid_input_range {};
4576
struct file_marker_found : invalid_input_range {};
4577
struct insufficient_range : invalid_input_range {};
4578
4579
namespace detail {
4580
template <typename CharT>
4581
inline constexpr bool is_valid_char_type =
4582
    std::is_same_v<std::remove_const_t<CharT>, char> ||
4583
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
4584
4585
namespace _make_scan_buffer {
4586
// buffer -> ref_buffer
4587
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
4588
    -> basic_scan_ref_buffer<char>
4589
0
{
4590
0
    if (!r.begin().stores_parent()) {
4591
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
4592
0
    }
4593
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
4594
0
}
4595
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
4596
    -> basic_scan_ref_buffer<wchar_t>
4597
0
{
4598
0
    if (!r.begin().stores_parent()) {
4599
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
4600
0
    }
4601
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
4602
0
}
4603
4604
// string_view -> string_buffer
4605
template <typename CharT>
4606
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
4607
250k
{
4608
250k
    if constexpr (is_valid_char_type<CharT>) {
4609
250k
        return r;
4610
        // return make_string_scan_buffer(r);
4611
250k
    }
4612
250k
    else {
4613
250k
        return invalid_char_type{};
4614
250k
    }
4615
250k
}
auto scn::v3::detail::_make_scan_buffer::impl<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::priority_tag<3ul>)
Line
Count
Source
4607
83.4k
{
4608
83.4k
    if constexpr (is_valid_char_type<CharT>) {
4609
83.4k
        return r;
4610
        // return make_string_scan_buffer(r);
4611
83.4k
    }
4612
83.4k
    else {
4613
83.4k
        return invalid_char_type{};
4614
83.4k
    }
4615
83.4k
}
auto scn::v3::detail::_make_scan_buffer::impl<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::priority_tag<3ul>)
Line
Count
Source
4607
166k
{
4608
166k
    if constexpr (is_valid_char_type<CharT>) {
4609
166k
        return r;
4610
        // return make_string_scan_buffer(r);
4611
166k
    }
4612
166k
    else {
4613
166k
        return invalid_char_type{};
4614
166k
    }
4615
166k
}
4616
4617
// string& -> string_buffer
4618
template <typename CharT, typename Traits, typename Allocator>
4619
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
4620
          priority_tag<3>) noexcept
4621
{
4622
    if constexpr (!is_valid_char_type<CharT>) {
4623
        return invalid_char_type{};
4624
    }
4625
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
4626
        return custom_char_traits{};
4627
    }
4628
    else {
4629
        return std::basic_string_view<CharT>{r};
4630
    }
4631
}
4632
4633
// String literals:
4634
// CharT(&)[] -> string_buffer
4635
template <typename CharT,
4636
          std::size_t N,
4637
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
4638
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
4639
{
4640
    return std::basic_string_view<CharT>{r, N - 1};
4641
}
4642
4643
// FILE* -> file_buffer
4644
inline auto impl(std::FILE* file, priority_tag<3>)
4645
0
{
4646
0
    return make_file_scan_buffer(file);
4647
0
}
4648
4649
// contiguous + sized -> string_buffer
4650
template <typename Range,
4651
          std::enable_if_t<ranges::contiguous_range<Range> &&
4652
                           ranges::sized_range<Range>>* = nullptr>
4653
auto impl(const Range& r, priority_tag<2>)
4654
50.5M
{
4655
50.5M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4656
50.5M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4657
50.5M
    }
4658
50.5M
    else {
4659
50.5M
        return invalid_char_type{};
4660
50.5M
    }
4661
50.5M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
4654
5.09M
{
4655
5.09M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4656
5.09M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4657
5.09M
    }
4658
5.09M
    else {
4659
5.09M
        return invalid_char_type{};
4660
5.09M
    }
4661
5.09M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
4654
45.4M
{
4655
45.4M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4656
45.4M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4657
45.4M
    }
4658
45.4M
    else {
4659
45.4M
        return invalid_char_type{};
4660
45.4M
    }
4661
45.4M
}
4662
4663
// !contiguous + random-access + iterator can be made into a ptr
4664
// for MSVC debug iterators
4665
//   -> string_buffer
4666
template <typename Range,
4667
          std::enable_if_t<!ranges::contiguous_range<Range> &&
4668
                           ranges::random_access_range<Range> &&
4669
                           can_make_address_from_iterator<
4670
                               ranges::iterator_t<Range>>>* = nullptr>
4671
auto impl(const Range& r, priority_tag<1>)
4672
{
4673
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4674
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
4675
                                              to_address(ranges::end(r)));
4676
    }
4677
    else {
4678
        return invalid_char_type{};
4679
    }
4680
}
4681
4682
// forward -> forward_buffer<R>
4683
template <typename Range>
4684
auto impl(const Range& r, priority_tag<0>)
4685
28.0M
{
4686
28.0M
    if constexpr (std::is_same_v<Range, file_marker>) {
4687
28.0M
        return file_marker_found{};
4688
28.0M
    }
4689
28.0M
    else if constexpr (!ranges::forward_range<Range>) {
4690
28.0M
        if constexpr (ranges::range<Range>) {
4691
28.0M
            return insufficient_range{};
4692
28.0M
        }
4693
28.0M
        else {
4694
28.0M
            return invalid_input_range{};
4695
28.0M
        }
4696
28.0M
    }
4697
28.0M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4698
28.0M
        return invalid_char_type{};
4699
28.0M
    }
4700
28.0M
    else {
4701
28.0M
        return make_forward_scan_buffer(r);
4702
28.0M
    }
4703
28.0M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
4685
4.95M
{
4686
4.95M
    if constexpr (std::is_same_v<Range, file_marker>) {
4687
4.95M
        return file_marker_found{};
4688
4.95M
    }
4689
4.95M
    else if constexpr (!ranges::forward_range<Range>) {
4690
4.95M
        if constexpr (ranges::range<Range>) {
4691
4.95M
            return insufficient_range{};
4692
4.95M
        }
4693
4.95M
        else {
4694
4.95M
            return invalid_input_range{};
4695
4.95M
        }
4696
4.95M
    }
4697
4.95M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4698
4.95M
        return invalid_char_type{};
4699
4.95M
    }
4700
4.95M
    else {
4701
4.95M
        return make_forward_scan_buffer(r);
4702
4.95M
    }
4703
4.95M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
4685
23.1M
{
4686
23.1M
    if constexpr (std::is_same_v<Range, file_marker>) {
4687
23.1M
        return file_marker_found{};
4688
23.1M
    }
4689
23.1M
    else if constexpr (!ranges::forward_range<Range>) {
4690
23.1M
        if constexpr (ranges::range<Range>) {
4691
23.1M
            return insufficient_range{};
4692
23.1M
        }
4693
23.1M
        else {
4694
23.1M
            return invalid_input_range{};
4695
23.1M
        }
4696
23.1M
    }
4697
23.1M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4698
23.1M
        return invalid_char_type{};
4699
23.1M
    }
4700
23.1M
    else {
4701
23.1M
        return make_forward_scan_buffer(r);
4702
23.1M
    }
4703
23.1M
}
4704
}  // namespace _make_scan_buffer
4705
4706
template <typename Range>
4707
inline constexpr bool is_scannable_range =
4708
    !std::is_base_of_v<invalid_input_range,
4709
                       decltype(_make_scan_buffer::impl(
4710
                                    SCN_DECLVAL(const Range&)),
4711
                                priority_tag<4>{})>;
4712
4713
template <typename Range>
4714
auto make_scan_buffer(const Range& range)
4715
78.8M
{
4716
78.8M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4717
4718
78.8M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4719
78.8M
                  "\n"
4720
78.8M
                  "Unsupported range type given as input to a scanning "
4721
78.8M
                  "function.\n"
4722
78.8M
                  "A range needs to have a character type (value type) "
4723
78.8M
                  "of either `char` or `wchar_t` to be scannable.\n"
4724
78.8M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4725
78.8M
                  "to be included.\n"
4726
78.8M
                  "See the scnlib documentation for more details.");
4727
78.8M
    static_assert(
4728
78.8M
        !std::is_same_v<T, custom_char_traits>,
4729
78.8M
        "\n"
4730
78.8M
        "Unsupported range type given as input to a scanning "
4731
78.8M
        "function.\n"
4732
78.8M
        "String types (std::basic_string, and std::basic_string_view) "
4733
78.8M
        "need to use std::char_traits. Strings with custom Traits are "
4734
78.8M
        "not supported.");
4735
78.8M
    static_assert(!std::is_same_v<T, file_marker_found>,
4736
78.8M
                  "\n"
4737
78.8M
                  "Unsupported range type given as input to a scanning "
4738
78.8M
                  "function.\n"
4739
78.8M
                  "file_marker_found cannot be used as an "
4740
78.8M
                  "source range type to scn::scan.\n"
4741
78.8M
                  "To read from stdin, use scn::input or scn::prompt, "
4742
78.8M
                  "and do not provide an explicit source range, "
4743
78.8M
                  "or use scn::scan with a FILE* directly.");
4744
78.8M
    static_assert(!std::is_same_v<T, insufficient_range>,
4745
78.8M
                  "\n"
4746
78.8M
                  "Unsupported range type given as input to a scanning "
4747
78.8M
                  "function.\n"
4748
78.8M
                  "In order to be scannable, a range needs to satisfy "
4749
78.8M
                  "`forward_range`. `input_range` is not sufficient.");
4750
78.8M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4751
78.8M
                  "\n"
4752
78.8M
                  "Unsupported range type given as input to a scanning "
4753
78.8M
                  "function.\n"
4754
78.8M
                  "A range needs to model forward_range and have a valid "
4755
78.8M
                  "character type (char or wchar_t) to be scannable.\n"
4756
78.8M
                  "Examples of scannable ranges are std::string, "
4757
78.8M
                  "std::string_view, "
4758
78.8M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4759
78.8M
                  "See the scnlib documentation for more details.");
4760
4761
78.8M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4762
78.8M
}
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Line
Count
Source
4715
83.4k
{
4716
83.4k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4717
4718
83.4k
    static_assert(!std::is_same_v<T, invalid_char_type>,
4719
83.4k
                  "\n"
4720
83.4k
                  "Unsupported range type given as input to a scanning "
4721
83.4k
                  "function.\n"
4722
83.4k
                  "A range needs to have a character type (value type) "
4723
83.4k
                  "of either `char` or `wchar_t` to be scannable.\n"
4724
83.4k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4725
83.4k
                  "to be included.\n"
4726
83.4k
                  "See the scnlib documentation for more details.");
4727
83.4k
    static_assert(
4728
83.4k
        !std::is_same_v<T, custom_char_traits>,
4729
83.4k
        "\n"
4730
83.4k
        "Unsupported range type given as input to a scanning "
4731
83.4k
        "function.\n"
4732
83.4k
        "String types (std::basic_string, and std::basic_string_view) "
4733
83.4k
        "need to use std::char_traits. Strings with custom Traits are "
4734
83.4k
        "not supported.");
4735
83.4k
    static_assert(!std::is_same_v<T, file_marker_found>,
4736
83.4k
                  "\n"
4737
83.4k
                  "Unsupported range type given as input to a scanning "
4738
83.4k
                  "function.\n"
4739
83.4k
                  "file_marker_found cannot be used as an "
4740
83.4k
                  "source range type to scn::scan.\n"
4741
83.4k
                  "To read from stdin, use scn::input or scn::prompt, "
4742
83.4k
                  "and do not provide an explicit source range, "
4743
83.4k
                  "or use scn::scan with a FILE* directly.");
4744
83.4k
    static_assert(!std::is_same_v<T, insufficient_range>,
4745
83.4k
                  "\n"
4746
83.4k
                  "Unsupported range type given as input to a scanning "
4747
83.4k
                  "function.\n"
4748
83.4k
                  "In order to be scannable, a range needs to satisfy "
4749
83.4k
                  "`forward_range`. `input_range` is not sufficient.");
4750
83.4k
    static_assert(!std::is_same_v<T, invalid_input_range>,
4751
83.4k
                  "\n"
4752
83.4k
                  "Unsupported range type given as input to a scanning "
4753
83.4k
                  "function.\n"
4754
83.4k
                  "A range needs to model forward_range and have a valid "
4755
83.4k
                  "character type (char or wchar_t) to be scannable.\n"
4756
83.4k
                  "Examples of scannable ranges are std::string, "
4757
83.4k
                  "std::string_view, "
4758
83.4k
                  "std::vector<char>, and scn::istreambuf_view.\n"
4759
83.4k
                  "See the scnlib documentation for more details.");
4760
4761
83.4k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4762
83.4k
}
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Line
Count
Source
4715
166k
{
4716
166k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4717
4718
166k
    static_assert(!std::is_same_v<T, invalid_char_type>,
4719
166k
                  "\n"
4720
166k
                  "Unsupported range type given as input to a scanning "
4721
166k
                  "function.\n"
4722
166k
                  "A range needs to have a character type (value type) "
4723
166k
                  "of either `char` or `wchar_t` to be scannable.\n"
4724
166k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4725
166k
                  "to be included.\n"
4726
166k
                  "See the scnlib documentation for more details.");
4727
166k
    static_assert(
4728
166k
        !std::is_same_v<T, custom_char_traits>,
4729
166k
        "\n"
4730
166k
        "Unsupported range type given as input to a scanning "
4731
166k
        "function.\n"
4732
166k
        "String types (std::basic_string, and std::basic_string_view) "
4733
166k
        "need to use std::char_traits. Strings with custom Traits are "
4734
166k
        "not supported.");
4735
166k
    static_assert(!std::is_same_v<T, file_marker_found>,
4736
166k
                  "\n"
4737
166k
                  "Unsupported range type given as input to a scanning "
4738
166k
                  "function.\n"
4739
166k
                  "file_marker_found cannot be used as an "
4740
166k
                  "source range type to scn::scan.\n"
4741
166k
                  "To read from stdin, use scn::input or scn::prompt, "
4742
166k
                  "and do not provide an explicit source range, "
4743
166k
                  "or use scn::scan with a FILE* directly.");
4744
166k
    static_assert(!std::is_same_v<T, insufficient_range>,
4745
166k
                  "\n"
4746
166k
                  "Unsupported range type given as input to a scanning "
4747
166k
                  "function.\n"
4748
166k
                  "In order to be scannable, a range needs to satisfy "
4749
166k
                  "`forward_range`. `input_range` is not sufficient.");
4750
166k
    static_assert(!std::is_same_v<T, invalid_input_range>,
4751
166k
                  "\n"
4752
166k
                  "Unsupported range type given as input to a scanning "
4753
166k
                  "function.\n"
4754
166k
                  "A range needs to model forward_range and have a valid "
4755
166k
                  "character type (char or wchar_t) to be scannable.\n"
4756
166k
                  "Examples of scannable ranges are std::string, "
4757
166k
                  "std::string_view, "
4758
166k
                  "std::vector<char>, and scn::istreambuf_view.\n"
4759
166k
                  "See the scnlib documentation for more details.");
4760
4761
166k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4762
166k
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
4715
5.09M
{
4716
5.09M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4717
4718
5.09M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4719
5.09M
                  "\n"
4720
5.09M
                  "Unsupported range type given as input to a scanning "
4721
5.09M
                  "function.\n"
4722
5.09M
                  "A range needs to have a character type (value type) "
4723
5.09M
                  "of either `char` or `wchar_t` to be scannable.\n"
4724
5.09M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4725
5.09M
                  "to be included.\n"
4726
5.09M
                  "See the scnlib documentation for more details.");
4727
5.09M
    static_assert(
4728
5.09M
        !std::is_same_v<T, custom_char_traits>,
4729
5.09M
        "\n"
4730
5.09M
        "Unsupported range type given as input to a scanning "
4731
5.09M
        "function.\n"
4732
5.09M
        "String types (std::basic_string, and std::basic_string_view) "
4733
5.09M
        "need to use std::char_traits. Strings with custom Traits are "
4734
5.09M
        "not supported.");
4735
5.09M
    static_assert(!std::is_same_v<T, file_marker_found>,
4736
5.09M
                  "\n"
4737
5.09M
                  "Unsupported range type given as input to a scanning "
4738
5.09M
                  "function.\n"
4739
5.09M
                  "file_marker_found cannot be used as an "
4740
5.09M
                  "source range type to scn::scan.\n"
4741
5.09M
                  "To read from stdin, use scn::input or scn::prompt, "
4742
5.09M
                  "and do not provide an explicit source range, "
4743
5.09M
                  "or use scn::scan with a FILE* directly.");
4744
5.09M
    static_assert(!std::is_same_v<T, insufficient_range>,
4745
5.09M
                  "\n"
4746
5.09M
                  "Unsupported range type given as input to a scanning "
4747
5.09M
                  "function.\n"
4748
5.09M
                  "In order to be scannable, a range needs to satisfy "
4749
5.09M
                  "`forward_range`. `input_range` is not sufficient.");
4750
5.09M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4751
5.09M
                  "\n"
4752
5.09M
                  "Unsupported range type given as input to a scanning "
4753
5.09M
                  "function.\n"
4754
5.09M
                  "A range needs to model forward_range and have a valid "
4755
5.09M
                  "character type (char or wchar_t) to be scannable.\n"
4756
5.09M
                  "Examples of scannable ranges are std::string, "
4757
5.09M
                  "std::string_view, "
4758
5.09M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4759
5.09M
                  "See the scnlib documentation for more details.");
4760
4761
5.09M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4762
5.09M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4715
4.95M
{
4716
4.95M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4717
4718
4.95M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4719
4.95M
                  "\n"
4720
4.95M
                  "Unsupported range type given as input to a scanning "
4721
4.95M
                  "function.\n"
4722
4.95M
                  "A range needs to have a character type (value type) "
4723
4.95M
                  "of either `char` or `wchar_t` to be scannable.\n"
4724
4.95M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4725
4.95M
                  "to be included.\n"
4726
4.95M
                  "See the scnlib documentation for more details.");
4727
4.95M
    static_assert(
4728
4.95M
        !std::is_same_v<T, custom_char_traits>,
4729
4.95M
        "\n"
4730
4.95M
        "Unsupported range type given as input to a scanning "
4731
4.95M
        "function.\n"
4732
4.95M
        "String types (std::basic_string, and std::basic_string_view) "
4733
4.95M
        "need to use std::char_traits. Strings with custom Traits are "
4734
4.95M
        "not supported.");
4735
4.95M
    static_assert(!std::is_same_v<T, file_marker_found>,
4736
4.95M
                  "\n"
4737
4.95M
                  "Unsupported range type given as input to a scanning "
4738
4.95M
                  "function.\n"
4739
4.95M
                  "file_marker_found cannot be used as an "
4740
4.95M
                  "source range type to scn::scan.\n"
4741
4.95M
                  "To read from stdin, use scn::input or scn::prompt, "
4742
4.95M
                  "and do not provide an explicit source range, "
4743
4.95M
                  "or use scn::scan with a FILE* directly.");
4744
4.95M
    static_assert(!std::is_same_v<T, insufficient_range>,
4745
4.95M
                  "\n"
4746
4.95M
                  "Unsupported range type given as input to a scanning "
4747
4.95M
                  "function.\n"
4748
4.95M
                  "In order to be scannable, a range needs to satisfy "
4749
4.95M
                  "`forward_range`. `input_range` is not sufficient.");
4750
4.95M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4751
4.95M
                  "\n"
4752
4.95M
                  "Unsupported range type given as input to a scanning "
4753
4.95M
                  "function.\n"
4754
4.95M
                  "A range needs to model forward_range and have a valid "
4755
4.95M
                  "character type (char or wchar_t) to be scannable.\n"
4756
4.95M
                  "Examples of scannable ranges are std::string, "
4757
4.95M
                  "std::string_view, "
4758
4.95M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4759
4.95M
                  "See the scnlib documentation for more details.");
4760
4761
4.95M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4762
4.95M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
4715
45.4M
{
4716
45.4M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4717
4718
45.4M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4719
45.4M
                  "\n"
4720
45.4M
                  "Unsupported range type given as input to a scanning "
4721
45.4M
                  "function.\n"
4722
45.4M
                  "A range needs to have a character type (value type) "
4723
45.4M
                  "of either `char` or `wchar_t` to be scannable.\n"
4724
45.4M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4725
45.4M
                  "to be included.\n"
4726
45.4M
                  "See the scnlib documentation for more details.");
4727
45.4M
    static_assert(
4728
45.4M
        !std::is_same_v<T, custom_char_traits>,
4729
45.4M
        "\n"
4730
45.4M
        "Unsupported range type given as input to a scanning "
4731
45.4M
        "function.\n"
4732
45.4M
        "String types (std::basic_string, and std::basic_string_view) "
4733
45.4M
        "need to use std::char_traits. Strings with custom Traits are "
4734
45.4M
        "not supported.");
4735
45.4M
    static_assert(!std::is_same_v<T, file_marker_found>,
4736
45.4M
                  "\n"
4737
45.4M
                  "Unsupported range type given as input to a scanning "
4738
45.4M
                  "function.\n"
4739
45.4M
                  "file_marker_found cannot be used as an "
4740
45.4M
                  "source range type to scn::scan.\n"
4741
45.4M
                  "To read from stdin, use scn::input or scn::prompt, "
4742
45.4M
                  "and do not provide an explicit source range, "
4743
45.4M
                  "or use scn::scan with a FILE* directly.");
4744
45.4M
    static_assert(!std::is_same_v<T, insufficient_range>,
4745
45.4M
                  "\n"
4746
45.4M
                  "Unsupported range type given as input to a scanning "
4747
45.4M
                  "function.\n"
4748
45.4M
                  "In order to be scannable, a range needs to satisfy "
4749
45.4M
                  "`forward_range`. `input_range` is not sufficient.");
4750
45.4M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4751
45.4M
                  "\n"
4752
45.4M
                  "Unsupported range type given as input to a scanning "
4753
45.4M
                  "function.\n"
4754
45.4M
                  "A range needs to model forward_range and have a valid "
4755
45.4M
                  "character type (char or wchar_t) to be scannable.\n"
4756
45.4M
                  "Examples of scannable ranges are std::string, "
4757
45.4M
                  "std::string_view, "
4758
45.4M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4759
45.4M
                  "See the scnlib documentation for more details.");
4760
4761
45.4M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4762
45.4M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4715
23.1M
{
4716
23.1M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4717
4718
23.1M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4719
23.1M
                  "\n"
4720
23.1M
                  "Unsupported range type given as input to a scanning "
4721
23.1M
                  "function.\n"
4722
23.1M
                  "A range needs to have a character type (value type) "
4723
23.1M
                  "of either `char` or `wchar_t` to be scannable.\n"
4724
23.1M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4725
23.1M
                  "to be included.\n"
4726
23.1M
                  "See the scnlib documentation for more details.");
4727
23.1M
    static_assert(
4728
23.1M
        !std::is_same_v<T, custom_char_traits>,
4729
23.1M
        "\n"
4730
23.1M
        "Unsupported range type given as input to a scanning "
4731
23.1M
        "function.\n"
4732
23.1M
        "String types (std::basic_string, and std::basic_string_view) "
4733
23.1M
        "need to use std::char_traits. Strings with custom Traits are "
4734
23.1M
        "not supported.");
4735
23.1M
    static_assert(!std::is_same_v<T, file_marker_found>,
4736
23.1M
                  "\n"
4737
23.1M
                  "Unsupported range type given as input to a scanning "
4738
23.1M
                  "function.\n"
4739
23.1M
                  "file_marker_found cannot be used as an "
4740
23.1M
                  "source range type to scn::scan.\n"
4741
23.1M
                  "To read from stdin, use scn::input or scn::prompt, "
4742
23.1M
                  "and do not provide an explicit source range, "
4743
23.1M
                  "or use scn::scan with a FILE* directly.");
4744
23.1M
    static_assert(!std::is_same_v<T, insufficient_range>,
4745
23.1M
                  "\n"
4746
23.1M
                  "Unsupported range type given as input to a scanning "
4747
23.1M
                  "function.\n"
4748
23.1M
                  "In order to be scannable, a range needs to satisfy "
4749
23.1M
                  "`forward_range`. `input_range` is not sufficient.");
4750
23.1M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4751
23.1M
                  "\n"
4752
23.1M
                  "Unsupported range type given as input to a scanning "
4753
23.1M
                  "function.\n"
4754
23.1M
                  "A range needs to model forward_range and have a valid "
4755
23.1M
                  "character type (char or wchar_t) to be scannable.\n"
4756
23.1M
                  "Examples of scannable ranges are std::string, "
4757
23.1M
                  "std::string_view, "
4758
23.1M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4759
23.1M
                  "See the scnlib documentation for more details.");
4760
4761
23.1M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4762
23.1M
}
4763
4764
template <
4765
    typename Range,
4766
    std::enable_if_t<
4767
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
4768
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
4769
auto make_scan_buffer(Range&&) = delete;
4770
}  // namespace detail
4771
4772
/////////////////////////////////////////////////////////////////
4773
// Argument type erasure
4774
/////////////////////////////////////////////////////////////////
4775
4776
namespace detail {
4777
enum class arg_type : unsigned char {
4778
    none_type,
4779
    schar_type,
4780
    short_type,
4781
    int_type,
4782
    long_type,
4783
    llong_type,
4784
    uchar_type,
4785
    ushort_type,
4786
    uint_type,
4787
    ulong_type,
4788
    ullong_type,
4789
    bool_type,
4790
    narrow_character_type,
4791
    wide_character_type,
4792
    code_point_type,
4793
    pointer_type,
4794
    float_type,
4795
    double_type,
4796
    ldouble_type,
4797
    narrow_string_view_type,
4798
    wide_string_view_type,
4799
    narrow_string_type,
4800
    wide_string_type,
4801
    narrow_regex_matches_type,
4802
    wide_regex_matches_type,
4803
    custom_type,
4804
    last_type = custom_type
4805
};
4806
4807
template <typename>
4808
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
4809
4810
template <typename T, typename CharT>
4811
struct arg_type_constant
4812
    : std::integral_constant<arg_type, arg_type::custom_type> {
4813
    using type = T;
4814
};
4815
4816
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
4817
    template <typename CharT>                             \
4818
    struct arg_type_constant<Type, CharT>                 \
4819
        : std::integral_constant<arg_type, arg_type::C> { \
4820
        using type = Type;                                \
4821
    };                                                    \
4822
    template <>                                           \
4823
    inline constexpr bool is_type_disabled<Type> = Disabled
4824
4825
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
4826
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
4827
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
4828
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
4829
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
4830
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
4831
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
4832
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
4833
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
4834
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
4835
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
4836
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
4837
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
4838
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
4839
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
4840
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
4841
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
4842
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
4843
SCN_TYPE_CONSTANT(std::string_view,
4844
                  narrow_string_view_type,
4845
                  SCN_DISABLE_TYPE_STRING_VIEW);
4846
SCN_TYPE_CONSTANT(std::wstring_view,
4847
                  wide_string_view_type,
4848
                  SCN_DISABLE_TYPE_STRING_VIEW);
4849
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
4850
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
4851
SCN_TYPE_CONSTANT(regex_matches, narrow_regex_matches_type, SCN_DISABLE_REGEX);
4852
SCN_TYPE_CONSTANT(wregex_matches, wide_regex_matches_type, SCN_DISABLE_REGEX);
4853
4854
#undef SCN_TYPE_CONSTANT
4855
4856
struct custom_value_type {
4857
    void* value;
4858
    scan_error (*scan)(void* arg, void* pctx, void* ctx);
4859
};
4860
4861
struct unscannable {};
4862
struct unscannable_char : unscannable {};
4863
struct unscannable_const : unscannable {};
4864
struct unscannable_disabled : unscannable {
4865
    unscannable_disabled() = default;
4866
4867
    template <typename T>
4868
    constexpr unscannable_disabled(T&&)
4869
    {
4870
    }
4871
};
4872
4873
struct needs_context_tag {};
4874
4875
template <typename Context>
4876
struct context_tag {
4877
    using type = Context;
4878
};
4879
4880
template <typename T, typename Context>
4881
struct custom_wrapper {
4882
    using context_type = Context;
4883
    T& val;
4884
};
4885
4886
class arg_value {
4887
public:
4888
    // trivial default initialization in constexpr
4889
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
4890
    SCN_STD > SCN_STD_20
4891
    constexpr
4892
#endif
4893
78.6M
    arg_value() = default;
4894
4895
    template <typename T>
4896
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4897
78.8M
    {
4898
78.8M
    }
scn::v3::detail::arg_value::arg_value<char>(char&)
Line
Count
Source
4897
9.27k
    {
4898
9.27k
    }
scn::v3::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
4897
1.04M
    {
4898
1.04M
    }
scn::v3::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
4897
925k
    {
4898
925k
    }
scn::v3::detail::arg_value::arg_value<double>(double&)
Line
Count
Source
4897
1.94M
    {
4898
1.94M
    }
scn::v3::detail::arg_value::arg_value<bool>(bool&)
Line
Count
Source
4897
27.8k
    {
4898
27.8k
    }
scn::v3::detail::arg_value::arg_value<void*>(void*&)
Line
Count
Source
4897
27.8k
    {
4898
27.8k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4897
367k
    {
4898
367k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4897
44.6M
    {
4898
44.6M
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
4897
177k
    {
4898
177k
    }
scn::v3::detail::arg_value::arg_value<wchar_t>(wchar_t&)
Line
Count
Source
4897
18.5k
    {
4898
18.5k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
4897
22.3M
    {
4898
22.3M
    }
scn::v3::detail::arg_value::arg_value<signed char>(signed char&)
Line
Count
Source
4897
840k
    {
4898
840k
    }
scn::v3::detail::arg_value::arg_value<unsigned char>(unsigned char&)
Line
Count
Source
4897
813k
    {
4898
813k
    }
scn::v3::detail::arg_value::arg_value<long long>(long long&)
Line
Count
Source
4897
1.02M
    {
4898
1.02M
    }
scn::v3::detail::arg_value::arg_value<unsigned long long>(unsigned long long&)
Line
Count
Source
4897
905k
    {
4898
905k
    }
scn::v3::detail::arg_value::arg_value<float>(float&)
Line
Count
Source
4897
1.79M
    {
4898
1.79M
    }
scn::v3::detail::arg_value::arg_value<long double>(long double&)
Line
Count
Source
4897
1.94M
    {
4898
1.94M
    }
4899
4900
    template <typename T, typename Context>
4901
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
4902
        : custom_value{static_cast<void*>(&val.val),
4903
                       scan_custom_arg<T, Context>}
4904
    {
4905
    }
4906
4907
    arg_value(unscannable);
4908
    arg_value(unscannable_char);
4909
    arg_value(unscannable_const);
4910
    arg_value(unscannable_disabled);
4911
4912
    union {
4913
        void* ref_value{nullptr};
4914
        custom_value_type custom_value;
4915
    };
4916
4917
private:
4918
    template <typename T, typename Context>
4919
    static scan_error scan_custom_arg(void* arg, void* pctx, void* ctx)
4920
    {
4921
        static_assert(!is_type_disabled<T>,
4922
                      "Scanning of custom types is disabled by "
4923
                      "SCN_DISABLE_TYPE_CUSTOM");
4924
        SCN_EXPECT(arg && pctx && ctx);
4925
4926
        using context_type = Context;
4927
        using parse_context_type = typename context_type::parse_context_type;
4928
        using scanner_type = typename context_type::template scanner_type<T>;
4929
4930
        auto s = scanner_type{};
4931
4932
        auto& arg_ref = *static_cast<T*>(arg);
4933
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
4934
        auto& ctx_ref = *static_cast<context_type*>(ctx);
4935
4936
        SCN_TRY_ERR(_, s.parse(pctx_ref));
4937
        SCN_UNUSED(_);
4938
        SCN_TRY_ERR(it, s.scan(arg_ref, ctx_ref));
4939
        ctx_ref.advance_to(SCN_MOVE(it));
4940
4941
        return {};
4942
    }
4943
};
4944
4945
template <typename CharT>
4946
struct arg_mapper {
4947
    using char_type = CharT;
4948
    using other_char_type =
4949
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
4950
4951
#define SCN_ARG_MAPPER(T)                                                    \
4952
    static auto map(T& val)                                                  \
4953
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
4954
78.8M
    {                                                                        \
4955
78.8M
        return val;                                                          \
4956
78.8M
    }
scn::v3::detail::arg_mapper<char>::map(int&)
Line
Count
Source
4954
856k
    {                                                                        \
4955
856k
        return val;                                                          \
4956
856k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
4954
742k
    {                                                                        \
4955
742k
        return val;                                                          \
4956
742k
    }
scn::v3::detail::arg_mapper<char>::map(double&)
Line
Count
Source
4954
1.72M
    {                                                                        \
4955
1.72M
        return val;                                                          \
4956
1.72M
    }
scn::v3::detail::arg_mapper<char>::map(bool&)
Line
Count
Source
4954
9.27k
    {                                                                        \
4955
9.27k
        return val;                                                          \
4956
9.27k
    }
scn::v3::detail::arg_mapper<char>::map(void*&)
Line
Count
Source
4954
9.27k
    {                                                                        \
4955
9.27k
        return val;                                                          \
4956
9.27k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4954
348k
    {                                                                        \
4955
348k
        return val;                                                          \
4956
348k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4954
9.27k
    {                                                                        \
4955
9.27k
        return val;                                                          \
4956
9.27k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
4954
177k
    {                                                                        \
4955
177k
        return val;                                                          \
4956
177k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(wchar_t&)
Line
Count
Source
4954
18.5k
    {                                                                        \
4955
18.5k
        return val;                                                          \
4956
18.5k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
4954
183k
    {                                                                        \
4955
183k
        return val;                                                          \
4956
183k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
4954
183k
    {                                                                        \
4955
183k
        return val;                                                          \
4956
183k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(double&)
Line
Count
Source
4954
226k
    {                                                                        \
4955
226k
        return val;                                                          \
4956
226k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(bool&)
Line
Count
Source
4954
18.5k
    {                                                                        \
4955
18.5k
        return val;                                                          \
4956
18.5k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(void*&)
Line
Count
Source
4954
18.5k
    {                                                                        \
4955
18.5k
        return val;                                                          \
4956
18.5k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4954
18.5k
    {                                                                        \
4955
18.5k
        return val;                                                          \
4956
18.5k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4954
44.6M
    {                                                                        \
4955
44.6M
        return val;                                                          \
4956
44.6M
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
4954
22.3M
    {                                                                        \
4955
22.3M
        return val;                                                          \
4956
22.3M
    }
scn::v3::detail::arg_mapper<char>::map(signed char&)
Line
Count
Source
4954
676k
    {                                                                        \
4955
676k
        return val;                                                          \
4956
676k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned char&)
Line
Count
Source
4954
649k
    {                                                                        \
4955
649k
        return val;                                                          \
4956
649k
    }
scn::v3::detail::arg_mapper<char>::map(long long&)
Line
Count
Source
4954
863k
    {                                                                        \
4955
863k
        return val;                                                          \
4956
863k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned long long&)
Line
Count
Source
4954
740k
    {                                                                        \
4955
740k
        return val;                                                          \
4956
740k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(signed char&)
Line
Count
Source
4954
164k
    {                                                                        \
4955
164k
        return val;                                                          \
4956
164k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned char&)
Line
Count
Source
4954
164k
    {                                                                        \
4955
164k
        return val;                                                          \
4956
164k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(long long&)
Line
Count
Source
4954
165k
    {                                                                        \
4955
165k
        return val;                                                          \
4956
165k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned long long&)
Line
Count
Source
4954
164k
    {                                                                        \
4955
164k
        return val;                                                          \
4956
164k
    }
scn::v3::detail::arg_mapper<char>::map(float&)
Line
Count
Source
4954
1.58M
    {                                                                        \
4955
1.58M
        return val;                                                          \
4956
1.58M
    }
scn::v3::detail::arg_mapper<char>::map(long double&)
Line
Count
Source
4954
1.73M
    {                                                                        \
4955
1.73M
        return val;                                                          \
4956
1.73M
    }
scn::v3::detail::arg_mapper<wchar_t>::map(float&)
Line
Count
Source
4954
207k
    {                                                                        \
4955
207k
        return val;                                                          \
4956
207k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(long double&)
Line
Count
Source
4954
208k
    {                                                                        \
4955
208k
        return val;                                                          \
4956
208k
    }
4957
4958
    SCN_ARG_MAPPER(signed char)
4959
    SCN_ARG_MAPPER(short)
4960
    SCN_ARG_MAPPER(int)
4961
    SCN_ARG_MAPPER(long)
4962
    SCN_ARG_MAPPER(long long)
4963
    SCN_ARG_MAPPER(unsigned char)
4964
    SCN_ARG_MAPPER(unsigned short)
4965
    SCN_ARG_MAPPER(unsigned)
4966
    SCN_ARG_MAPPER(unsigned long)
4967
    SCN_ARG_MAPPER(unsigned long long)
4968
    SCN_ARG_MAPPER(wchar_t)
4969
    SCN_ARG_MAPPER(char32_t)
4970
    SCN_ARG_MAPPER(bool)
4971
    SCN_ARG_MAPPER(void*)
4972
    SCN_ARG_MAPPER(float)
4973
    SCN_ARG_MAPPER(double)
4974
    SCN_ARG_MAPPER(long double)
4975
4976
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
4977
    SCN_ARG_MAPPER(std::string)
4978
    SCN_ARG_MAPPER(std::wstring)
4979
4980
#undef SCN_ARG_MAPPER
4981
4982
    static decltype(auto) map(char& val)
4983
9.27k
    {
4984
9.27k
        if constexpr (std::is_same_v<char_type, char> &&
4985
9.27k
                      !is_type_disabled<char_type>) {
4986
9.27k
            return val;
4987
9.27k
        }
4988
9.27k
        else if constexpr (is_type_disabled<char_type>) {
4989
9.27k
            return unscannable_disabled{val};
4990
9.27k
        }
4991
9.27k
        else {
4992
9.27k
            SCN_UNUSED(val);
4993
9.27k
            return unscannable_char{};
4994
9.27k
        }
4995
9.27k
    }
4996
4997
    static decltype(auto) map(basic_regex_matches<char_type>& val)
4998
    {
4999
        if constexpr (is_type_disabled<char_type>) {
5000
            return unscannable_disabled{val};
5001
        }
5002
        else {
5003
            return val;
5004
        }
5005
    }
5006
5007
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5008
    {
5009
        return {};
5010
    }
5011
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5012
    {
5013
        return {};
5014
    }
5015
5016
    template <typename T>
5017
    static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>,
5018
                            needs_context_tag>
5019
    map(T&)
5020
    {
5021
        return {};
5022
    }
5023
5024
    template <typename T, typename Context>
5025
    static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>,
5026
                            custom_wrapper<T, Context>>
5027
    map(T& val, context_tag<Context>)
5028
    {
5029
        return {val};
5030
    }
5031
5032
    static unscannable map(...)
5033
    {
5034
        return {};
5035
    }
5036
};
5037
5038
template <typename T, typename CharT>
5039
using mapped_type_constant = arg_type_constant<
5040
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5041
    CharT>;
5042
5043
template <typename T, typename CharT>
5044
using is_scannable = std::integral_constant<
5045
    bool,
5046
    !std::is_base_of_v<
5047
        unscannable,
5048
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5049
5050
constexpr std::size_t packed_arg_bits = 5;
5051
static_assert((1 << packed_arg_bits) >= static_cast<int>(arg_type::last_type));
5052
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5053
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5054
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5055
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5056
5057
template <typename>
5058
constexpr size_t encode_types_impl()
5059
0
{
5060
0
    return 0;
5061
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t>()
5062
template <typename CharT, typename T, typename... Others>
5063
constexpr size_t encode_types_impl()
5064
0
{
5065
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5066
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5067
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long double>()
5068
5069
template <typename CharT, typename... Ts>
5070
constexpr size_t encode_types()
5071
0
{
5072
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5073
0
        return sizeof...(Ts) |
5074
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5075
0
    }
5076
0
    else {
5077
0
        SCN_EXPECT(false);
5078
0
        SCN_UNREACHABLE;
5079
0
    }
5080
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long double>()
5081
5082
template <typename Arg>
5083
constexpr auto make_value_impl(Arg&& arg)
5084
78.8M
{
5085
78.8M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
78.8M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
78.8M
    constexpr bool scannable_char =
5089
78.8M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
78.8M
    static_assert(scannable_char,
5091
78.8M
                  "Cannot scan an argument of an unsupported character "
5092
78.8M
                  "type (i.e. char from a wchar_t source)");
5093
5094
78.8M
    constexpr bool scannable_const =
5095
78.8M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
78.8M
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
78.8M
    constexpr bool scannable_disabled =
5099
78.8M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
78.8M
    static_assert(scannable_disabled,
5101
78.8M
                  "Cannot scan an argument that has been disabled by "
5102
78.8M
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
78.8M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
78.8M
    static_assert(
5106
78.8M
        scannable,
5107
78.8M
        "Cannot scan an argument. To make a type T scannable, provide "
5108
78.8M
        "a scn::scanner<T, CharT> specialization.");
5109
5110
78.8M
    return arg_value{arg};
5111
78.8M
}
auto scn::v3::detail::make_value_impl<char&>(char&)
Line
Count
Source
5084
9.27k
{
5085
9.27k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
9.27k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
9.27k
    constexpr bool scannable_char =
5089
9.27k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
9.27k
    static_assert(scannable_char,
5091
9.27k
                  "Cannot scan an argument of an unsupported character "
5092
9.27k
                  "type (i.e. char from a wchar_t source)");
5093
5094
9.27k
    constexpr bool scannable_const =
5095
9.27k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
9.27k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
9.27k
    constexpr bool scannable_disabled =
5099
9.27k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
9.27k
    static_assert(scannable_disabled,
5101
9.27k
                  "Cannot scan an argument that has been disabled by "
5102
9.27k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
9.27k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
9.27k
    static_assert(
5106
9.27k
        scannable,
5107
9.27k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
9.27k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
9.27k
    return arg_value{arg};
5111
9.27k
}
auto scn::v3::detail::make_value_impl<int&>(int&)
Line
Count
Source
5084
1.04M
{
5085
1.04M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
1.04M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
1.04M
    constexpr bool scannable_char =
5089
1.04M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
1.04M
    static_assert(scannable_char,
5091
1.04M
                  "Cannot scan an argument of an unsupported character "
5092
1.04M
                  "type (i.e. char from a wchar_t source)");
5093
5094
1.04M
    constexpr bool scannable_const =
5095
1.04M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
1.04M
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
1.04M
    constexpr bool scannable_disabled =
5099
1.04M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
1.04M
    static_assert(scannable_disabled,
5101
1.04M
                  "Cannot scan an argument that has been disabled by "
5102
1.04M
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
1.04M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
1.04M
    static_assert(
5106
1.04M
        scannable,
5107
1.04M
        "Cannot scan an argument. To make a type T scannable, provide "
5108
1.04M
        "a scn::scanner<T, CharT> specialization.");
5109
5110
1.04M
    return arg_value{arg};
5111
1.04M
}
auto scn::v3::detail::make_value_impl<unsigned int&>(unsigned int&)
Line
Count
Source
5084
925k
{
5085
925k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
925k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
925k
    constexpr bool scannable_char =
5089
925k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
925k
    static_assert(scannable_char,
5091
925k
                  "Cannot scan an argument of an unsupported character "
5092
925k
                  "type (i.e. char from a wchar_t source)");
5093
5094
925k
    constexpr bool scannable_const =
5095
925k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
925k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
925k
    constexpr bool scannable_disabled =
5099
925k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
925k
    static_assert(scannable_disabled,
5101
925k
                  "Cannot scan an argument that has been disabled by "
5102
925k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
925k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
925k
    static_assert(
5106
925k
        scannable,
5107
925k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
925k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
925k
    return arg_value{arg};
5111
925k
}
auto scn::v3::detail::make_value_impl<double&>(double&)
Line
Count
Source
5084
1.94M
{
5085
1.94M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
1.94M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
1.94M
    constexpr bool scannable_char =
5089
1.94M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
1.94M
    static_assert(scannable_char,
5091
1.94M
                  "Cannot scan an argument of an unsupported character "
5092
1.94M
                  "type (i.e. char from a wchar_t source)");
5093
5094
1.94M
    constexpr bool scannable_const =
5095
1.94M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
1.94M
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
1.94M
    constexpr bool scannable_disabled =
5099
1.94M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
1.94M
    static_assert(scannable_disabled,
5101
1.94M
                  "Cannot scan an argument that has been disabled by "
5102
1.94M
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
1.94M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
1.94M
    static_assert(
5106
1.94M
        scannable,
5107
1.94M
        "Cannot scan an argument. To make a type T scannable, provide "
5108
1.94M
        "a scn::scanner<T, CharT> specialization.");
5109
5110
1.94M
    return arg_value{arg};
5111
1.94M
}
auto scn::v3::detail::make_value_impl<bool&>(bool&)
Line
Count
Source
5084
27.8k
{
5085
27.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
27.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
27.8k
    constexpr bool scannable_char =
5089
27.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
27.8k
    static_assert(scannable_char,
5091
27.8k
                  "Cannot scan an argument of an unsupported character "
5092
27.8k
                  "type (i.e. char from a wchar_t source)");
5093
5094
27.8k
    constexpr bool scannable_const =
5095
27.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
27.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
27.8k
    constexpr bool scannable_disabled =
5099
27.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
27.8k
    static_assert(scannable_disabled,
5101
27.8k
                  "Cannot scan an argument that has been disabled by "
5102
27.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
27.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
27.8k
    static_assert(
5106
27.8k
        scannable,
5107
27.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
27.8k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
27.8k
    return arg_value{arg};
5111
27.8k
}
auto scn::v3::detail::make_value_impl<void*&>(void*&)
Line
Count
Source
5084
27.8k
{
5085
27.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
27.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
27.8k
    constexpr bool scannable_char =
5089
27.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
27.8k
    static_assert(scannable_char,
5091
27.8k
                  "Cannot scan an argument of an unsupported character "
5092
27.8k
                  "type (i.e. char from a wchar_t source)");
5093
5094
27.8k
    constexpr bool scannable_const =
5095
27.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
27.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
27.8k
    constexpr bool scannable_disabled =
5099
27.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
27.8k
    static_assert(scannable_disabled,
5101
27.8k
                  "Cannot scan an argument that has been disabled by "
5102
27.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
27.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
27.8k
    static_assert(
5106
27.8k
        scannable,
5107
27.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
27.8k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
27.8k
    return arg_value{arg};
5111
27.8k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5084
367k
{
5085
367k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
367k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
367k
    constexpr bool scannable_char =
5089
367k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
367k
    static_assert(scannable_char,
5091
367k
                  "Cannot scan an argument of an unsupported character "
5092
367k
                  "type (i.e. char from a wchar_t source)");
5093
5094
367k
    constexpr bool scannable_const =
5095
367k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
367k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
367k
    constexpr bool scannable_disabled =
5099
367k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
367k
    static_assert(scannable_disabled,
5101
367k
                  "Cannot scan an argument that has been disabled by "
5102
367k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
367k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
367k
    static_assert(
5106
367k
        scannable,
5107
367k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
367k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
367k
    return arg_value{arg};
5111
367k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5084
44.6M
{
5085
44.6M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
44.6M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
44.6M
    constexpr bool scannable_char =
5089
44.6M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
44.6M
    static_assert(scannable_char,
5091
44.6M
                  "Cannot scan an argument of an unsupported character "
5092
44.6M
                  "type (i.e. char from a wchar_t source)");
5093
5094
44.6M
    constexpr bool scannable_const =
5095
44.6M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
44.6M
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
44.6M
    constexpr bool scannable_disabled =
5099
44.6M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
44.6M
    static_assert(scannable_disabled,
5101
44.6M
                  "Cannot scan an argument that has been disabled by "
5102
44.6M
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
44.6M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
44.6M
    static_assert(
5106
44.6M
        scannable,
5107
44.6M
        "Cannot scan an argument. To make a type T scannable, provide "
5108
44.6M
        "a scn::scanner<T, CharT> specialization.");
5109
5110
44.6M
    return arg_value{arg};
5111
44.6M
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5084
177k
{
5085
177k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
177k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
177k
    constexpr bool scannable_char =
5089
177k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
177k
    static_assert(scannable_char,
5091
177k
                  "Cannot scan an argument of an unsupported character "
5092
177k
                  "type (i.e. char from a wchar_t source)");
5093
5094
177k
    constexpr bool scannable_const =
5095
177k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
177k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
177k
    constexpr bool scannable_disabled =
5099
177k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
177k
    static_assert(scannable_disabled,
5101
177k
                  "Cannot scan an argument that has been disabled by "
5102
177k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
177k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
177k
    static_assert(
5106
177k
        scannable,
5107
177k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
177k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
177k
    return arg_value{arg};
5111
177k
}
auto scn::v3::detail::make_value_impl<wchar_t&>(wchar_t&)
Line
Count
Source
5084
18.5k
{
5085
18.5k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
18.5k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
18.5k
    constexpr bool scannable_char =
5089
18.5k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
18.5k
    static_assert(scannable_char,
5091
18.5k
                  "Cannot scan an argument of an unsupported character "
5092
18.5k
                  "type (i.e. char from a wchar_t source)");
5093
5094
18.5k
    constexpr bool scannable_const =
5095
18.5k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
18.5k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
18.5k
    constexpr bool scannable_disabled =
5099
18.5k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
18.5k
    static_assert(scannable_disabled,
5101
18.5k
                  "Cannot scan an argument that has been disabled by "
5102
18.5k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
18.5k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
18.5k
    static_assert(
5106
18.5k
        scannable,
5107
18.5k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
18.5k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
18.5k
    return arg_value{arg};
5111
18.5k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5084
22.3M
{
5085
22.3M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
22.3M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
22.3M
    constexpr bool scannable_char =
5089
22.3M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
22.3M
    static_assert(scannable_char,
5091
22.3M
                  "Cannot scan an argument of an unsupported character "
5092
22.3M
                  "type (i.e. char from a wchar_t source)");
5093
5094
22.3M
    constexpr bool scannable_const =
5095
22.3M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
22.3M
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
22.3M
    constexpr bool scannable_disabled =
5099
22.3M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
22.3M
    static_assert(scannable_disabled,
5101
22.3M
                  "Cannot scan an argument that has been disabled by "
5102
22.3M
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
22.3M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
22.3M
    static_assert(
5106
22.3M
        scannable,
5107
22.3M
        "Cannot scan an argument. To make a type T scannable, provide "
5108
22.3M
        "a scn::scanner<T, CharT> specialization.");
5109
5110
22.3M
    return arg_value{arg};
5111
22.3M
}
auto scn::v3::detail::make_value_impl<signed char&>(signed char&)
Line
Count
Source
5084
840k
{
5085
840k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
840k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
840k
    constexpr bool scannable_char =
5089
840k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
840k
    static_assert(scannable_char,
5091
840k
                  "Cannot scan an argument of an unsupported character "
5092
840k
                  "type (i.e. char from a wchar_t source)");
5093
5094
840k
    constexpr bool scannable_const =
5095
840k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
840k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
840k
    constexpr bool scannable_disabled =
5099
840k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
840k
    static_assert(scannable_disabled,
5101
840k
                  "Cannot scan an argument that has been disabled by "
5102
840k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
840k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
840k
    static_assert(
5106
840k
        scannable,
5107
840k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
840k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
840k
    return arg_value{arg};
5111
840k
}
auto scn::v3::detail::make_value_impl<unsigned char&>(unsigned char&)
Line
Count
Source
5084
813k
{
5085
813k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
813k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
813k
    constexpr bool scannable_char =
5089
813k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
813k
    static_assert(scannable_char,
5091
813k
                  "Cannot scan an argument of an unsupported character "
5092
813k
                  "type (i.e. char from a wchar_t source)");
5093
5094
813k
    constexpr bool scannable_const =
5095
813k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
813k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
813k
    constexpr bool scannable_disabled =
5099
813k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
813k
    static_assert(scannable_disabled,
5101
813k
                  "Cannot scan an argument that has been disabled by "
5102
813k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
813k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
813k
    static_assert(
5106
813k
        scannable,
5107
813k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
813k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
813k
    return arg_value{arg};
5111
813k
}
auto scn::v3::detail::make_value_impl<long long&>(long long&)
Line
Count
Source
5084
1.02M
{
5085
1.02M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
1.02M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
1.02M
    constexpr bool scannable_char =
5089
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
1.02M
    static_assert(scannable_char,
5091
1.02M
                  "Cannot scan an argument of an unsupported character "
5092
1.02M
                  "type (i.e. char from a wchar_t source)");
5093
5094
1.02M
    constexpr bool scannable_const =
5095
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
1.02M
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
1.02M
    constexpr bool scannable_disabled =
5099
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
1.02M
    static_assert(scannable_disabled,
5101
1.02M
                  "Cannot scan an argument that has been disabled by "
5102
1.02M
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
1.02M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
1.02M
    static_assert(
5106
1.02M
        scannable,
5107
1.02M
        "Cannot scan an argument. To make a type T scannable, provide "
5108
1.02M
        "a scn::scanner<T, CharT> specialization.");
5109
5110
1.02M
    return arg_value{arg};
5111
1.02M
}
auto scn::v3::detail::make_value_impl<unsigned long long&>(unsigned long long&)
Line
Count
Source
5084
905k
{
5085
905k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
905k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
905k
    constexpr bool scannable_char =
5089
905k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
905k
    static_assert(scannable_char,
5091
905k
                  "Cannot scan an argument of an unsupported character "
5092
905k
                  "type (i.e. char from a wchar_t source)");
5093
5094
905k
    constexpr bool scannable_const =
5095
905k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
905k
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
905k
    constexpr bool scannable_disabled =
5099
905k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
905k
    static_assert(scannable_disabled,
5101
905k
                  "Cannot scan an argument that has been disabled by "
5102
905k
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
905k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
905k
    static_assert(
5106
905k
        scannable,
5107
905k
        "Cannot scan an argument. To make a type T scannable, provide "
5108
905k
        "a scn::scanner<T, CharT> specialization.");
5109
5110
905k
    return arg_value{arg};
5111
905k
}
auto scn::v3::detail::make_value_impl<float&>(float&)
Line
Count
Source
5084
1.79M
{
5085
1.79M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
1.79M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
1.79M
    constexpr bool scannable_char =
5089
1.79M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
1.79M
    static_assert(scannable_char,
5091
1.79M
                  "Cannot scan an argument of an unsupported character "
5092
1.79M
                  "type (i.e. char from a wchar_t source)");
5093
5094
1.79M
    constexpr bool scannable_const =
5095
1.79M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
1.79M
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
1.79M
    constexpr bool scannable_disabled =
5099
1.79M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
1.79M
    static_assert(scannable_disabled,
5101
1.79M
                  "Cannot scan an argument that has been disabled by "
5102
1.79M
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
1.79M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
1.79M
    static_assert(
5106
1.79M
        scannable,
5107
1.79M
        "Cannot scan an argument. To make a type T scannable, provide "
5108
1.79M
        "a scn::scanner<T, CharT> specialization.");
5109
5110
1.79M
    return arg_value{arg};
5111
1.79M
}
auto scn::v3::detail::make_value_impl<long double&>(long double&)
Line
Count
Source
5084
1.94M
{
5085
1.94M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5086
1.94M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5087
5088
1.94M
    constexpr bool scannable_char =
5089
1.94M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5090
1.94M
    static_assert(scannable_char,
5091
1.94M
                  "Cannot scan an argument of an unsupported character "
5092
1.94M
                  "type (i.e. char from a wchar_t source)");
5093
5094
1.94M
    constexpr bool scannable_const =
5095
1.94M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5096
1.94M
    static_assert(scannable_const, "Cannot scan a const argument");
5097
5098
1.94M
    constexpr bool scannable_disabled =
5099
1.94M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5100
1.94M
    static_assert(scannable_disabled,
5101
1.94M
                  "Cannot scan an argument that has been disabled by "
5102
1.94M
                  "flag (SCN_DISABLE_TYPE_*)");
5103
5104
1.94M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5105
1.94M
    static_assert(
5106
1.94M
        scannable,
5107
1.94M
        "Cannot scan an argument. To make a type T scannable, provide "
5108
1.94M
        "a scn::scanner<T, CharT> specialization.");
5109
5110
1.94M
    return arg_value{arg};
5111
1.94M
}
5112
5113
template <typename Context, typename T>
5114
constexpr auto make_value(T& value)
5115
78.8M
{
5116
78.8M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
78.8M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
78.8M
                                  needs_context_tag>) {
5120
78.8M
        return make_value_impl(SCN_FWD(arg));
5121
78.8M
    }
5122
78.8M
    else {
5123
78.8M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
78.8M
            value, context_tag<Context>{}));
5125
78.8M
    }
5126
78.8M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, char>(char&)
Line
Count
Source
5115
9.27k
{
5116
9.27k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
9.27k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
9.27k
                                  needs_context_tag>) {
5120
9.27k
        return make_value_impl(SCN_FWD(arg));
5121
9.27k
    }
5122
9.27k
    else {
5123
9.27k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
9.27k
            value, context_tag<Context>{}));
5125
9.27k
    }
5126
9.27k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, int>(int&)
Line
Count
Source
5115
856k
{
5116
856k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
856k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
856k
                                  needs_context_tag>) {
5120
856k
        return make_value_impl(SCN_FWD(arg));
5121
856k
    }
5122
856k
    else {
5123
856k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
856k
            value, context_tag<Context>{}));
5125
856k
    }
5126
856k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&)
Line
Count
Source
5115
742k
{
5116
742k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
742k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
742k
                                  needs_context_tag>) {
5120
742k
        return make_value_impl(SCN_FWD(arg));
5121
742k
    }
5122
742k
    else {
5123
742k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
742k
            value, context_tag<Context>{}));
5125
742k
    }
5126
742k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, double>(double&)
Line
Count
Source
5115
1.72M
{
5116
1.72M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
1.72M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
1.72M
                                  needs_context_tag>) {
5120
1.72M
        return make_value_impl(SCN_FWD(arg));
5121
1.72M
    }
5122
1.72M
    else {
5123
1.72M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
1.72M
            value, context_tag<Context>{}));
5125
1.72M
    }
5126
1.72M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, bool>(bool&)
Line
Count
Source
5115
9.27k
{
5116
9.27k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
9.27k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
9.27k
                                  needs_context_tag>) {
5120
9.27k
        return make_value_impl(SCN_FWD(arg));
5121
9.27k
    }
5122
9.27k
    else {
5123
9.27k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
9.27k
            value, context_tag<Context>{}));
5125
9.27k
    }
5126
9.27k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, void*>(void*&)
Line
Count
Source
5115
9.27k
{
5116
9.27k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
9.27k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
9.27k
                                  needs_context_tag>) {
5120
9.27k
        return make_value_impl(SCN_FWD(arg));
5121
9.27k
    }
5122
9.27k
    else {
5123
9.27k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
9.27k
            value, context_tag<Context>{}));
5125
9.27k
    }
5126
9.27k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5115
348k
{
5116
348k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
348k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
348k
                                  needs_context_tag>) {
5120
348k
        return make_value_impl(SCN_FWD(arg));
5121
348k
    }
5122
348k
    else {
5123
348k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
348k
            value, context_tag<Context>{}));
5125
348k
    }
5126
348k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5115
9.27k
{
5116
9.27k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
9.27k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
9.27k
                                  needs_context_tag>) {
5120
9.27k
        return make_value_impl(SCN_FWD(arg));
5121
9.27k
    }
5122
9.27k
    else {
5123
9.27k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
9.27k
            value, context_tag<Context>{}));
5125
9.27k
    }
5126
9.27k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5115
177k
{
5116
177k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
177k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
177k
                                  needs_context_tag>) {
5120
177k
        return make_value_impl(SCN_FWD(arg));
5121
177k
    }
5122
177k
    else {
5123
177k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
177k
            value, context_tag<Context>{}));
5125
177k
    }
5126
177k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, wchar_t>(wchar_t&)
Line
Count
Source
5115
18.5k
{
5116
18.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
18.5k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
18.5k
                                  needs_context_tag>) {
5120
18.5k
        return make_value_impl(SCN_FWD(arg));
5121
18.5k
    }
5122
18.5k
    else {
5123
18.5k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
18.5k
            value, context_tag<Context>{}));
5125
18.5k
    }
5126
18.5k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, int>(int&)
Line
Count
Source
5115
183k
{
5116
183k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
183k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
183k
                                  needs_context_tag>) {
5120
183k
        return make_value_impl(SCN_FWD(arg));
5121
183k
    }
5122
183k
    else {
5123
183k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
183k
            value, context_tag<Context>{}));
5125
183k
    }
5126
183k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5115
183k
{
5116
183k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
183k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
183k
                                  needs_context_tag>) {
5120
183k
        return make_value_impl(SCN_FWD(arg));
5121
183k
    }
5122
183k
    else {
5123
183k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
183k
            value, context_tag<Context>{}));
5125
183k
    }
5126
183k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, double>(double&)
Line
Count
Source
5115
226k
{
5116
226k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
226k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
226k
                                  needs_context_tag>) {
5120
226k
        return make_value_impl(SCN_FWD(arg));
5121
226k
    }
5122
226k
    else {
5123
226k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
226k
            value, context_tag<Context>{}));
5125
226k
    }
5126
226k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, bool>(bool&)
Line
Count
Source
5115
18.5k
{
5116
18.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
18.5k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
18.5k
                                  needs_context_tag>) {
5120
18.5k
        return make_value_impl(SCN_FWD(arg));
5121
18.5k
    }
5122
18.5k
    else {
5123
18.5k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
18.5k
            value, context_tag<Context>{}));
5125
18.5k
    }
5126
18.5k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, void*>(void*&)
Line
Count
Source
5115
18.5k
{
5116
18.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
18.5k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
18.5k
                                  needs_context_tag>) {
5120
18.5k
        return make_value_impl(SCN_FWD(arg));
5121
18.5k
    }
5122
18.5k
    else {
5123
18.5k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
18.5k
            value, context_tag<Context>{}));
5125
18.5k
    }
5126
18.5k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5115
18.5k
{
5116
18.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
18.5k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
18.5k
                                  needs_context_tag>) {
5120
18.5k
        return make_value_impl(SCN_FWD(arg));
5121
18.5k
    }
5122
18.5k
    else {
5123
18.5k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
18.5k
            value, context_tag<Context>{}));
5125
18.5k
    }
5126
18.5k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5115
44.6M
{
5116
44.6M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
44.6M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
44.6M
                                  needs_context_tag>) {
5120
44.6M
        return make_value_impl(SCN_FWD(arg));
5121
44.6M
    }
5122
44.6M
    else {
5123
44.6M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
44.6M
            value, context_tag<Context>{}));
5125
44.6M
    }
5126
44.6M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5115
22.3M
{
5116
22.3M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
22.3M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
22.3M
                                  needs_context_tag>) {
5120
22.3M
        return make_value_impl(SCN_FWD(arg));
5121
22.3M
    }
5122
22.3M
    else {
5123
22.3M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
22.3M
            value, context_tag<Context>{}));
5125
22.3M
    }
5126
22.3M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, signed char>(signed char&)
Line
Count
Source
5115
676k
{
5116
676k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
676k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
676k
                                  needs_context_tag>) {
5120
676k
        return make_value_impl(SCN_FWD(arg));
5121
676k
    }
5122
676k
    else {
5123
676k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
676k
            value, context_tag<Context>{}));
5125
676k
    }
5126
676k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&)
Line
Count
Source
5115
649k
{
5116
649k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
649k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
649k
                                  needs_context_tag>) {
5120
649k
        return make_value_impl(SCN_FWD(arg));
5121
649k
    }
5122
649k
    else {
5123
649k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
649k
            value, context_tag<Context>{}));
5125
649k
    }
5126
649k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long long>(long long&)
Line
Count
Source
5115
863k
{
5116
863k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
863k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
863k
                                  needs_context_tag>) {
5120
863k
        return make_value_impl(SCN_FWD(arg));
5121
863k
    }
5122
863k
    else {
5123
863k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
863k
            value, context_tag<Context>{}));
5125
863k
    }
5126
863k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5115
740k
{
5116
740k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
740k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
740k
                                  needs_context_tag>) {
5120
740k
        return make_value_impl(SCN_FWD(arg));
5121
740k
    }
5122
740k
    else {
5123
740k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
740k
            value, context_tag<Context>{}));
5125
740k
    }
5126
740k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&)
Line
Count
Source
5115
164k
{
5116
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
164k
                                  needs_context_tag>) {
5120
164k
        return make_value_impl(SCN_FWD(arg));
5121
164k
    }
5122
164k
    else {
5123
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
164k
            value, context_tag<Context>{}));
5125
164k
    }
5126
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5115
164k
{
5116
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
164k
                                  needs_context_tag>) {
5120
164k
        return make_value_impl(SCN_FWD(arg));
5121
164k
    }
5122
164k
    else {
5123
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
164k
            value, context_tag<Context>{}));
5125
164k
    }
5126
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long long>(long long&)
Line
Count
Source
5115
165k
{
5116
165k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
165k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
165k
                                  needs_context_tag>) {
5120
165k
        return make_value_impl(SCN_FWD(arg));
5121
165k
    }
5122
165k
    else {
5123
165k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
165k
            value, context_tag<Context>{}));
5125
165k
    }
5126
165k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5115
164k
{
5116
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
164k
                                  needs_context_tag>) {
5120
164k
        return make_value_impl(SCN_FWD(arg));
5121
164k
    }
5122
164k
    else {
5123
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
164k
            value, context_tag<Context>{}));
5125
164k
    }
5126
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, float>(float&)
Line
Count
Source
5115
1.58M
{
5116
1.58M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
1.58M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
1.58M
                                  needs_context_tag>) {
5120
1.58M
        return make_value_impl(SCN_FWD(arg));
5121
1.58M
    }
5122
1.58M
    else {
5123
1.58M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
1.58M
            value, context_tag<Context>{}));
5125
1.58M
    }
5126
1.58M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long double>(long double&)
Line
Count
Source
5115
1.73M
{
5116
1.73M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
1.73M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
1.73M
                                  needs_context_tag>) {
5120
1.73M
        return make_value_impl(SCN_FWD(arg));
5121
1.73M
    }
5122
1.73M
    else {
5123
1.73M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
1.73M
            value, context_tag<Context>{}));
5125
1.73M
    }
5126
1.73M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, float>(float&)
Line
Count
Source
5115
207k
{
5116
207k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
207k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
207k
                                  needs_context_tag>) {
5120
207k
        return make_value_impl(SCN_FWD(arg));
5121
207k
    }
5122
207k
    else {
5123
207k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
207k
            value, context_tag<Context>{}));
5125
207k
    }
5126
207k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long double>(long double&)
Line
Count
Source
5115
208k
{
5116
208k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5117
5118
208k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5119
208k
                                  needs_context_tag>) {
5120
208k
        return make_value_impl(SCN_FWD(arg));
5121
208k
    }
5122
208k
    else {
5123
208k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5124
208k
            value, context_tag<Context>{}));
5125
208k
    }
5126
208k
}
5127
5128
template <typename... Args>
5129
constexpr void check_scan_arg_types()
5130
78.8M
{
5131
78.8M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
78.8M
                  "Scan argument types must be default constructible");
5133
78.8M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
78.8M
                  "Scan argument types must be Destructible");
5135
78.8M
    static_assert(
5136
78.8M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
78.8M
        "Scan argument types must not be references");
5138
78.8M
}
void scn::v3::detail::check_scan_arg_types<char>()
Line
Count
Source
5130
9.27k
{
5131
9.27k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
9.27k
                  "Scan argument types must be default constructible");
5133
9.27k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
9.27k
                  "Scan argument types must be Destructible");
5135
9.27k
    static_assert(
5136
9.27k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
9.27k
        "Scan argument types must not be references");
5138
9.27k
}
void scn::v3::detail::check_scan_arg_types<int>()
Line
Count
Source
5130
1.04M
{
5131
1.04M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
1.04M
                  "Scan argument types must be default constructible");
5133
1.04M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
1.04M
                  "Scan argument types must be Destructible");
5135
1.04M
    static_assert(
5136
1.04M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
1.04M
        "Scan argument types must not be references");
5138
1.04M
}
void scn::v3::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5130
925k
{
5131
925k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
925k
                  "Scan argument types must be default constructible");
5133
925k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
925k
                  "Scan argument types must be Destructible");
5135
925k
    static_assert(
5136
925k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
925k
        "Scan argument types must not be references");
5138
925k
}
void scn::v3::detail::check_scan_arg_types<double>()
Line
Count
Source
5130
1.94M
{
5131
1.94M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
1.94M
                  "Scan argument types must be default constructible");
5133
1.94M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
1.94M
                  "Scan argument types must be Destructible");
5135
1.94M
    static_assert(
5136
1.94M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
1.94M
        "Scan argument types must not be references");
5138
1.94M
}
void scn::v3::detail::check_scan_arg_types<bool>()
Line
Count
Source
5130
27.8k
{
5131
27.8k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
27.8k
                  "Scan argument types must be default constructible");
5133
27.8k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
27.8k
                  "Scan argument types must be Destructible");
5135
27.8k
    static_assert(
5136
27.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
27.8k
        "Scan argument types must not be references");
5138
27.8k
}
void scn::v3::detail::check_scan_arg_types<void*>()
Line
Count
Source
5130
27.8k
{
5131
27.8k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
27.8k
                  "Scan argument types must be default constructible");
5133
27.8k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
27.8k
                  "Scan argument types must be Destructible");
5135
27.8k
    static_assert(
5136
27.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
27.8k
        "Scan argument types must not be references");
5138
27.8k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5130
367k
{
5131
367k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
367k
                  "Scan argument types must be default constructible");
5133
367k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
367k
                  "Scan argument types must be Destructible");
5135
367k
    static_assert(
5136
367k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
367k
        "Scan argument types must not be references");
5138
367k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5130
44.6M
{
5131
44.6M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
44.6M
                  "Scan argument types must be default constructible");
5133
44.6M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
44.6M
                  "Scan argument types must be Destructible");
5135
44.6M
    static_assert(
5136
44.6M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
44.6M
        "Scan argument types must not be references");
5138
44.6M
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5130
177k
{
5131
177k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
177k
                  "Scan argument types must be default constructible");
5133
177k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
177k
                  "Scan argument types must be Destructible");
5135
177k
    static_assert(
5136
177k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
177k
        "Scan argument types must not be references");
5138
177k
}
void scn::v3::detail::check_scan_arg_types<wchar_t>()
Line
Count
Source
5130
18.5k
{
5131
18.5k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
18.5k
                  "Scan argument types must be default constructible");
5133
18.5k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
18.5k
                  "Scan argument types must be Destructible");
5135
18.5k
    static_assert(
5136
18.5k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
18.5k
        "Scan argument types must not be references");
5138
18.5k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5130
22.3M
{
5131
22.3M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
22.3M
                  "Scan argument types must be default constructible");
5133
22.3M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
22.3M
                  "Scan argument types must be Destructible");
5135
22.3M
    static_assert(
5136
22.3M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
22.3M
        "Scan argument types must not be references");
5138
22.3M
}
void scn::v3::detail::check_scan_arg_types<signed char>()
Line
Count
Source
5130
840k
{
5131
840k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
840k
                  "Scan argument types must be default constructible");
5133
840k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
840k
                  "Scan argument types must be Destructible");
5135
840k
    static_assert(
5136
840k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
840k
        "Scan argument types must not be references");
5138
840k
}
void scn::v3::detail::check_scan_arg_types<unsigned char>()
Line
Count
Source
5130
813k
{
5131
813k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
813k
                  "Scan argument types must be default constructible");
5133
813k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
813k
                  "Scan argument types must be Destructible");
5135
813k
    static_assert(
5136
813k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
813k
        "Scan argument types must not be references");
5138
813k
}
void scn::v3::detail::check_scan_arg_types<long long>()
Line
Count
Source
5130
1.02M
{
5131
1.02M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
1.02M
                  "Scan argument types must be default constructible");
5133
1.02M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
1.02M
                  "Scan argument types must be Destructible");
5135
1.02M
    static_assert(
5136
1.02M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
1.02M
        "Scan argument types must not be references");
5138
1.02M
}
void scn::v3::detail::check_scan_arg_types<unsigned long long>()
Line
Count
Source
5130
905k
{
5131
905k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
905k
                  "Scan argument types must be default constructible");
5133
905k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
905k
                  "Scan argument types must be Destructible");
5135
905k
    static_assert(
5136
905k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
905k
        "Scan argument types must not be references");
5138
905k
}
void scn::v3::detail::check_scan_arg_types<float>()
Line
Count
Source
5130
1.79M
{
5131
1.79M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
1.79M
                  "Scan argument types must be default constructible");
5133
1.79M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
1.79M
                  "Scan argument types must be Destructible");
5135
1.79M
    static_assert(
5136
1.79M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
1.79M
        "Scan argument types must not be references");
5138
1.79M
}
void scn::v3::detail::check_scan_arg_types<long double>()
Line
Count
Source
5130
1.94M
{
5131
1.94M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5132
1.94M
                  "Scan argument types must be default constructible");
5133
1.94M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5134
1.94M
                  "Scan argument types must be Destructible");
5135
1.94M
    static_assert(
5136
1.94M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5137
1.94M
        "Scan argument types must not be references");
5138
1.94M
}
5139
5140
enum class scan_arg_store_kind {
5141
    // only built-in types (no custom types), packed
5142
    builtin,
5143
5144
    packed,
5145
    unpacked
5146
};
5147
5148
template <typename Context, typename T>
5149
constexpr basic_scan_arg<Context> make_arg(T& value)
5150
14.3M
{
5151
14.3M
    check_scan_arg_types<T>();
5152
5153
14.3M
    basic_scan_arg<Context> arg;
5154
14.3M
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
14.3M
    arg.m_value = make_value<Context>(value);
5156
14.3M
    return arg;
5157
14.3M
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, signed char>(signed char&)
Line
Count
Source
5150
52.5k
{
5151
52.5k
    check_scan_arg_types<T>();
5152
5153
52.5k
    basic_scan_arg<Context> arg;
5154
52.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
52.5k
    arg.m_value = make_value<Context>(value);
5156
52.5k
    return arg;
5157
52.5k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&)
Line
Count
Source
5150
46.6k
{
5151
46.6k
    check_scan_arg_types<T>();
5152
5153
46.6k
    basic_scan_arg<Context> arg;
5154
46.6k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
46.6k
    arg.m_value = make_value<Context>(value);
5156
46.6k
    return arg;
5157
46.6k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, int>(int&)
Line
Count
Source
5150
60.2k
{
5151
60.2k
    check_scan_arg_types<T>();
5152
5153
60.2k
    basic_scan_arg<Context> arg;
5154
60.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
60.2k
    arg.m_value = make_value<Context>(value);
5156
60.2k
    return arg;
5157
60.2k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&)
Line
Count
Source
5150
51.9k
{
5151
51.9k
    check_scan_arg_types<T>();
5152
5153
51.9k
    basic_scan_arg<Context> arg;
5154
51.9k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
51.9k
    arg.m_value = make_value<Context>(value);
5156
51.9k
    return arg;
5157
51.9k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long long>(long long&)
Line
Count
Source
5150
61.3k
{
5151
61.3k
    check_scan_arg_types<T>();
5152
5153
61.3k
    basic_scan_arg<Context> arg;
5154
61.3k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
61.3k
    arg.m_value = make_value<Context>(value);
5156
61.3k
    return arg;
5157
61.3k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5150
52.6k
{
5151
52.6k
    check_scan_arg_types<T>();
5152
5153
52.6k
    basic_scan_arg<Context> arg;
5154
52.6k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
52.6k
    arg.m_value = make_value<Context>(value);
5156
52.6k
    return arg;
5157
52.6k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&)
Line
Count
Source
5150
7.87k
{
5151
7.87k
    check_scan_arg_types<T>();
5152
5153
7.87k
    basic_scan_arg<Context> arg;
5154
7.87k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
7.87k
    arg.m_value = make_value<Context>(value);
5156
7.87k
    return arg;
5157
7.87k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5150
7.85k
{
5151
7.85k
    check_scan_arg_types<T>();
5152
5153
7.85k
    basic_scan_arg<Context> arg;
5154
7.85k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
7.85k
    arg.m_value = make_value<Context>(value);
5156
7.85k
    return arg;
5157
7.85k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, int>(int&)
Line
Count
Source
5150
7.89k
{
5151
7.89k
    check_scan_arg_types<T>();
5152
5153
7.89k
    basic_scan_arg<Context> arg;
5154
7.89k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
7.89k
    arg.m_value = make_value<Context>(value);
5156
7.89k
    return arg;
5157
7.89k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5150
7.86k
{
5151
7.86k
    check_scan_arg_types<T>();
5152
5153
7.86k
    basic_scan_arg<Context> arg;
5154
7.86k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
7.86k
    arg.m_value = make_value<Context>(value);
5156
7.86k
    return arg;
5157
7.86k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long long>(long long&)
Line
Count
Source
5150
7.92k
{
5151
7.92k
    check_scan_arg_types<T>();
5152
5153
7.92k
    basic_scan_arg<Context> arg;
5154
7.92k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
7.92k
    arg.m_value = make_value<Context>(value);
5156
7.92k
    return arg;
5157
7.92k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5150
7.89k
{
5151
7.89k
    check_scan_arg_types<T>();
5152
5153
7.89k
    basic_scan_arg<Context> arg;
5154
7.89k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
7.89k
    arg.m_value = make_value<Context>(value);
5156
7.89k
    return arg;
5157
7.89k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5150
64.9k
{
5151
64.9k
    check_scan_arg_types<T>();
5152
5153
64.9k
    basic_scan_arg<Context> arg;
5154
64.9k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
64.9k
    arg.m_value = make_value<Context>(value);
5156
64.9k
    return arg;
5157
64.9k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5150
32.1k
{
5151
32.1k
    check_scan_arg_types<T>();
5152
5153
32.1k
    basic_scan_arg<Context> arg;
5154
32.1k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
32.1k
    arg.m_value = make_value<Context>(value);
5156
32.1k
    return arg;
5157
32.1k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5150
8.92M
{
5151
8.92M
    check_scan_arg_types<T>();
5152
5153
8.92M
    basic_scan_arg<Context> arg;
5154
8.92M
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
8.92M
    arg.m_value = make_value<Context>(value);
5156
8.92M
    return arg;
5157
8.92M
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5150
4.46M
{
5151
4.46M
    check_scan_arg_types<T>();
5152
5153
4.46M
    basic_scan_arg<Context> arg;
5154
4.46M
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
4.46M
    arg.m_value = make_value<Context>(value);
5156
4.46M
    return arg;
5157
4.46M
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, float>(float&)
Line
Count
Source
5150
151k
{
5151
151k
    check_scan_arg_types<T>();
5152
5153
151k
    basic_scan_arg<Context> arg;
5154
151k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
151k
    arg.m_value = make_value<Context>(value);
5156
151k
    return arg;
5157
151k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, double>(double&)
Line
Count
Source
5150
167k
{
5151
167k
    check_scan_arg_types<T>();
5152
5153
167k
    basic_scan_arg<Context> arg;
5154
167k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
167k
    arg.m_value = make_value<Context>(value);
5156
167k
    return arg;
5157
167k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long double>(long double&)
Line
Count
Source
5150
170k
{
5151
170k
    check_scan_arg_types<T>();
5152
5153
170k
    basic_scan_arg<Context> arg;
5154
170k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
170k
    arg.m_value = make_value<Context>(value);
5156
170k
    return arg;
5157
170k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, float>(float&)
Line
Count
Source
5150
16.5k
{
5151
16.5k
    check_scan_arg_types<T>();
5152
5153
16.5k
    basic_scan_arg<Context> arg;
5154
16.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
16.5k
    arg.m_value = make_value<Context>(value);
5156
16.5k
    return arg;
5157
16.5k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, double>(double&)
Line
Count
Source
5150
16.5k
{
5151
16.5k
    check_scan_arg_types<T>();
5152
5153
16.5k
    basic_scan_arg<Context> arg;
5154
16.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
16.5k
    arg.m_value = make_value<Context>(value);
5156
16.5k
    return arg;
5157
16.5k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long double>(long double&)
Line
Count
Source
5150
16.5k
{
5151
16.5k
    check_scan_arg_types<T>();
5152
5153
16.5k
    basic_scan_arg<Context> arg;
5154
16.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5155
16.5k
    arg.m_value = make_value<Context>(value);
5156
16.5k
    return arg;
5157
16.5k
}
5158
5159
template <scan_arg_store_kind Kind,
5160
          typename Context,
5161
          arg_type,
5162
          typename T,
5163
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5164
constexpr void* make_arg(T& value)
5165
64.4M
{
5166
64.4M
    return make_value<Context>(value).ref_value;
5167
64.4M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)12, char, void>(char&)
Line
Count
Source
5165
9.27k
{
5166
9.27k
    return make_value<Context>(value).ref_value;
5167
9.27k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5165
796k
{
5166
796k
    return make_value<Context>(value).ref_value;
5167
796k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5165
690k
{
5166
690k
    return make_value<Context>(value).ref_value;
5167
690k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5165
1.55M
{
5166
1.55M
    return make_value<Context>(value).ref_value;
5167
1.55M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5165
9.27k
{
5166
9.27k
    return make_value<Context>(value).ref_value;
5167
9.27k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5165
9.27k
{
5166
9.27k
    return make_value<Context>(value).ref_value;
5167
9.27k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5165
283k
{
5166
283k
    return make_value<Context>(value).ref_value;
5167
283k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5165
9.27k
{
5166
9.27k
    return make_value<Context>(value).ref_value;
5167
9.27k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)19, std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5165
145k
{
5166
145k
    return make_value<Context>(value).ref_value;
5167
145k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)13, wchar_t, void>(wchar_t&)
Line
Count
Source
5165
18.5k
{
5166
18.5k
    return make_value<Context>(value).ref_value;
5167
18.5k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5165
175k
{
5166
175k
    return make_value<Context>(value).ref_value;
5167
175k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5165
175k
{
5166
175k
    return make_value<Context>(value).ref_value;
5167
175k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5165
210k
{
5166
210k
    return make_value<Context>(value).ref_value;
5167
210k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5165
18.5k
{
5166
18.5k
    return make_value<Context>(value).ref_value;
5167
18.5k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5165
18.5k
{
5166
18.5k
    return make_value<Context>(value).ref_value;
5167
18.5k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5165
18.5k
{
5166
18.5k
    return make_value<Context>(value).ref_value;
5167
18.5k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5165
35.7M
{
5166
35.7M
    return make_value<Context>(value).ref_value;
5167
35.7M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)20, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5165
17.8M
{
5166
17.8M
    return make_value<Context>(value).ref_value;
5167
17.8M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5165
623k
{
5166
623k
    return make_value<Context>(value).ref_value;
5167
623k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&)
Line
Count
Source
5165
602k
{
5166
602k
    return make_value<Context>(value).ref_value;
5167
602k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5165
801k
{
5166
801k
    return make_value<Context>(value).ref_value;
5167
801k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5165
688k
{
5166
688k
    return make_value<Context>(value).ref_value;
5167
688k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5165
156k
{
5166
156k
    return make_value<Context>(value).ref_value;
5167
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&)
Line
Count
Source
5165
156k
{
5166
156k
    return make_value<Context>(value).ref_value;
5167
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5165
157k
{
5166
157k
    return make_value<Context>(value).ref_value;
5167
157k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5165
156k
{
5166
156k
    return make_value<Context>(value).ref_value;
5167
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)16, float, void>(float&)
Line
Count
Source
5165
1.43M
{
5166
1.43M
    return make_value<Context>(value).ref_value;
5167
1.43M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)18, long double, void>(long double&)
Line
Count
Source
5165
1.56M
{
5166
1.56M
    return make_value<Context>(value).ref_value;
5167
1.56M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)16, float, void>(float&)
Line
Count
Source
5165
191k
{
5166
191k
    return make_value<Context>(value).ref_value;
5167
191k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)18, long double, void>(long double&)
Line
Count
Source
5165
192k
{
5166
192k
    return make_value<Context>(value).ref_value;
5167
192k
}
5168
template <scan_arg_store_kind Kind,
5169
          typename Context,
5170
          arg_type,
5171
          typename T,
5172
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5173
constexpr arg_value make_arg(T& value)
5174
{
5175
    return make_value<Context>(value);
5176
}
5177
template <scan_arg_store_kind Kind,
5178
          typename Context,
5179
          arg_type,
5180
          typename T,
5181
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5182
constexpr basic_scan_arg<Context> make_arg(T&& value)
5183
{
5184
    return make_arg<Context>(SCN_FWD(value));
5185
}
5186
5187
template <typename Context>
5188
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5189
}  // namespace detail
5190
5191
template <typename Visitor, typename Ctx>
5192
constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5193
                                        basic_scan_arg<Ctx>& arg);
5194
5195
/**
5196
 * Type-erased scanning argument.
5197
 *
5198
 * Contains a pointer to the value contained in a `scan_arg_store`.
5199
 */
5200
template <typename Context>
5201
class basic_scan_arg {
5202
public:
5203
    /**
5204
     * Enables scanning of a user-defined type.
5205
     *
5206
     * Contains a pointer to the value contained in a `scan_arg_store`, and
5207
     * a callback for parsing the format string, and scanning the value.
5208
     *
5209
     * \see scn::visit_scan_arg
5210
     */
5211
    class handle {
5212
    public:
5213
        /**
5214
         * Parse the format string in `parse_ctx`, and scan the value from
5215
         * `ctx`.
5216
         *
5217
         * \return Any error returned by the scanner
5218
         */
5219
        scan_error scan(typename Context::parse_context_type& parse_ctx,
5220
                        Context& ctx) const
5221
0
        {
5222
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
5223
0
        }
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::scan(scn::v3::basic_scan_parse_context<char>&, scn::v3::basic_scan_context<char>&) const
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::scan(scn::v3::basic_scan_parse_context<wchar_t>&, scn::v3::basic_scan_context<wchar_t>&) const
5224
5225
    private:
5226
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::handle(scn::v3::detail::custom_value_type)
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::handle(scn::v3::detail::custom_value_type)
5227
5228
        template <typename Visitor, typename C>
5229
        friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5230
                                                       basic_scan_arg<C>& arg);
5231
5232
        detail::custom_value_type m_custom;
5233
    };
5234
5235
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
5236
78.6M
    constexpr basic_scan_arg() = default;
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::basic_scan_arg()
Line
Count
Source
5236
10.1M
    constexpr basic_scan_arg() = default;
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::basic_scan_arg()
Line
Count
Source
5236
68.5M
    constexpr basic_scan_arg() = default;
5237
5238
    /**
5239
     * @return `true` if `*this` contains an argument
5240
     */
5241
    constexpr explicit operator bool() const noexcept
5242
113M
    {
5243
113M
        return m_type != detail::arg_type::none_type;
5244
113M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::operator bool() const
Line
Count
Source
5242
17.3M
    {
5243
17.3M
        return m_type != detail::arg_type::none_type;
5244
17.3M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::operator bool() const
Line
Count
Source
5242
96.4M
    {
5243
96.4M
        return m_type != detail::arg_type::none_type;
5244
96.4M
    }
5245
5246
    SCN_NODISCARD constexpr detail::arg_type type() const
5247
71.0M
    {
5248
71.0M
        return m_type;
5249
71.0M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::type() const
Line
Count
Source
5247
14.7M
    {
5248
14.7M
        return m_type;
5249
14.7M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::type() const
Line
Count
Source
5247
56.2M
    {
5248
56.2M
        return m_type;
5249
56.2M
    }
5250
5251
    SCN_NODISCARD constexpr detail::arg_value& value()
5252
    {
5253
        return m_value;
5254
    }
5255
    SCN_NODISCARD constexpr const detail::arg_value& value() const
5256
    {
5257
        return m_value;
5258
    }
5259
5260
private:
5261
    template <typename ContextType, typename T>
5262
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
5263
5264
    template <typename C>
5265
    friend constexpr detail::arg_value& detail::get_arg_value(
5266
        basic_scan_arg<C>& arg);
5267
5268
    template <typename Visitor, typename C>
5269
    friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5270
                                                   basic_scan_arg<C>& arg);
5271
5272
    friend class basic_scan_args<Context>;
5273
5274
    detail::arg_value m_value{};
5275
    detail::arg_type m_type{detail::arg_type::none_type};
5276
};
5277
5278
namespace detail {
5279
template <typename Context>
5280
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
5281
{
5282
    return arg.m_value;
5283
}
5284
5285
template <typename CharT>
5286
constexpr bool all_types_builtin()
5287
0
{
5288
0
    return true;
5289
0
}
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t>()
5290
template <typename CharT, typename T, typename... Args>
5291
constexpr bool all_types_builtin()
5292
0
{
5293
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
5294
0
           all_types_builtin<CharT, Args...>();
5295
0
}
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, bool>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, void*>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, wchar_t>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, bool>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, void*>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, signed char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, signed char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, float>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, float>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long double>()
5296
5297
template <typename CharT, typename... Args>
5298
constexpr scan_arg_store_kind determine_arg_store_kind()
5299
0
{
5300
0
    if (sizeof...(Args) > max_packed_args) {
5301
0
        return scan_arg_store_kind::unpacked;
5302
0
    }
5303
0
#if !(SCN_CLANG && SCN_APPLE)
5304
0
    // This doesn't work on Apple Clang. I don't know why
5305
0
    if (all_types_builtin<CharT, Args...>()) {
5306
0
        return scan_arg_store_kind::builtin;
5307
0
    }
5308
0
#endif
5309
0
    return scan_arg_store_kind::packed;
5310
0
}
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, bool>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, void*>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, wchar_t>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, bool>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, void*>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, signed char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, signed char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, float>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, float>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long double>()
5311
5312
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
5313
constexpr size_t compute_arg_store_desc()
5314
0
{
5315
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
5316
0
        return encode_types<CharT, Args...>();
5317
0
    }
5318
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
5319
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
5320
0
    }
5321
0
    else {
5322
0
        return sizeof...(Args) | is_unpacked_bit;
5323
0
    }
5324
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long double>()
5325
5326
template <typename Context, typename... Args>
5327
class scan_arg_store {
5328
public:
5329
    static constexpr scan_arg_store_kind kind =
5330
        determine_arg_store_kind<typename Context::char_type, Args...>();
5331
    static constexpr size_t desc =
5332
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
5333
5334
    using argptr_type = std::conditional_t<
5335
        kind == scan_arg_store_kind::builtin,
5336
        void*,
5337
        std::conditional_t<kind == scan_arg_store_kind::packed,
5338
                           arg_value,
5339
                           basic_scan_arg<Context>>>;
5340
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
5341
5342
    constexpr scan_arg_store()
5343
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5344
64.4M
    {
5345
64.4M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::scan_arg_store()
Line
Count
Source
5344
9.27k
    {
5345
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::scan_arg_store()
Line
Count
Source
5344
796k
    {
5345
796k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::scan_arg_store()
Line
Count
Source
5344
690k
    {
5345
690k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::scan_arg_store()
Line
Count
Source
5344
1.55M
    {
5345
1.55M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::scan_arg_store()
Line
Count
Source
5344
9.27k
    {
5345
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::scan_arg_store()
Line
Count
Source
5344
9.27k
    {
5345
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store()
Line
Count
Source
5344
283k
    {
5345
283k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store()
Line
Count
Source
5344
9.27k
    {
5345
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_arg_store()
Line
Count
Source
5344
145k
    {
5345
145k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::scan_arg_store()
Line
Count
Source
5344
18.5k
    {
5345
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::scan_arg_store()
Line
Count
Source
5344
175k
    {
5345
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::scan_arg_store()
Line
Count
Source
5344
175k
    {
5345
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::scan_arg_store()
Line
Count
Source
5344
210k
    {
5345
210k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::scan_arg_store()
Line
Count
Source
5344
18.5k
    {
5345
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::scan_arg_store()
Line
Count
Source
5344
18.5k
    {
5345
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store()
Line
Count
Source
5344
18.5k
    {
5345
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store()
Line
Count
Source
5344
35.7M
    {
5345
35.7M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_arg_store()
Line
Count
Source
5344
17.8M
    {
5345
17.8M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::scan_arg_store()
Line
Count
Source
5344
623k
    {
5345
623k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::scan_arg_store()
Line
Count
Source
5344
602k
    {
5345
602k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::scan_arg_store()
Line
Count
Source
5344
801k
    {
5345
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::scan_arg_store()
Line
Count
Source
5344
688k
    {
5345
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::scan_arg_store()
Line
Count
Source
5344
156k
    {
5345
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::scan_arg_store()
Line
Count
Source
5344
156k
    {
5345
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::scan_arg_store()
Line
Count
Source
5344
157k
    {
5345
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::scan_arg_store()
Line
Count
Source
5344
156k
    {
5345
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::scan_arg_store()
Line
Count
Source
5344
1.43M
    {
5345
1.43M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::scan_arg_store()
Line
Count
Source
5344
1.56M
    {
5345
1.56M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::scan_arg_store()
Line
Count
Source
5344
191k
    {
5345
191k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::scan_arg_store()
Line
Count
Source
5344
192k
    {
5345
192k
    }
5346
5347
    constexpr explicit scan_arg_store(std::tuple<Args...>&& a)
5348
        : m_args(std::move(a)),
5349
          m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5350
    {
5351
    }
5352
5353
    template <typename... A>
5354
    static constexpr argptrs_type make_argptrs(A&... args)
5355
64.4M
    {
5356
64.4M
        return {detail::make_arg<
5357
64.4M
            kind, Context,
5358
64.4M
            mapped_type_constant<remove_cvref_t<A>,
5359
64.4M
                                 typename Context::char_type>::value>(args)...};
5360
64.4M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::make_argptrs<char>(char&)
Line
Count
Source
5355
9.27k
    {
5356
9.27k
        return {detail::make_arg<
5357
9.27k
            kind, Context,
5358
9.27k
            mapped_type_constant<remove_cvref_t<A>,
5359
9.27k
                                 typename Context::char_type>::value>(args)...};
5360
9.27k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::make_argptrs<int>(int&)
Line
Count
Source
5355
796k
    {
5356
796k
        return {detail::make_arg<
5357
796k
            kind, Context,
5358
796k
            mapped_type_constant<remove_cvref_t<A>,
5359
796k
                                 typename Context::char_type>::value>(args)...};
5360
796k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
5355
690k
    {
5356
690k
        return {detail::make_arg<
5357
690k
            kind, Context,
5358
690k
            mapped_type_constant<remove_cvref_t<A>,
5359
690k
                                 typename Context::char_type>::value>(args)...};
5360
690k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::make_argptrs<double>(double&)
Line
Count
Source
5355
1.55M
    {
5356
1.55M
        return {detail::make_arg<
5357
1.55M
            kind, Context,
5358
1.55M
            mapped_type_constant<remove_cvref_t<A>,
5359
1.55M
                                 typename Context::char_type>::value>(args)...};
5360
1.55M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
5355
9.27k
    {
5356
9.27k
        return {detail::make_arg<
5357
9.27k
            kind, Context,
5358
9.27k
            mapped_type_constant<remove_cvref_t<A>,
5359
9.27k
                                 typename Context::char_type>::value>(args)...};
5360
9.27k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
5355
9.27k
    {
5356
9.27k
        return {detail::make_arg<
5357
9.27k
            kind, Context,
5358
9.27k
            mapped_type_constant<remove_cvref_t<A>,
5359
9.27k
                                 typename Context::char_type>::value>(args)...};
5360
9.27k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5355
283k
    {
5356
283k
        return {detail::make_arg<
5357
283k
            kind, Context,
5358
283k
            mapped_type_constant<remove_cvref_t<A>,
5359
283k
                                 typename Context::char_type>::value>(args)...};
5360
283k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5355
9.27k
    {
5356
9.27k
        return {detail::make_arg<
5357
9.27k
            kind, Context,
5358
9.27k
            mapped_type_constant<remove_cvref_t<A>,
5359
9.27k
                                 typename Context::char_type>::value>(args)...};
5360
9.27k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::make_argptrs<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5355
145k
    {
5356
145k
        return {detail::make_arg<
5357
145k
            kind, Context,
5358
145k
            mapped_type_constant<remove_cvref_t<A>,
5359
145k
                                 typename Context::char_type>::value>(args)...};
5360
145k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::make_argptrs<wchar_t>(wchar_t&)
Line
Count
Source
5355
18.5k
    {
5356
18.5k
        return {detail::make_arg<
5357
18.5k
            kind, Context,
5358
18.5k
            mapped_type_constant<remove_cvref_t<A>,
5359
18.5k
                                 typename Context::char_type>::value>(args)...};
5360
18.5k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
5355
175k
    {
5356
175k
        return {detail::make_arg<
5357
175k
            kind, Context,
5358
175k
            mapped_type_constant<remove_cvref_t<A>,
5359
175k
                                 typename Context::char_type>::value>(args)...};
5360
175k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
5355
175k
    {
5356
175k
        return {detail::make_arg<
5357
175k
            kind, Context,
5358
175k
            mapped_type_constant<remove_cvref_t<A>,
5359
175k
                                 typename Context::char_type>::value>(args)...};
5360
175k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::make_argptrs<double>(double&)
Line
Count
Source
5355
210k
    {
5356
210k
        return {detail::make_arg<
5357
210k
            kind, Context,
5358
210k
            mapped_type_constant<remove_cvref_t<A>,
5359
210k
                                 typename Context::char_type>::value>(args)...};
5360
210k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
5355
18.5k
    {
5356
18.5k
        return {detail::make_arg<
5357
18.5k
            kind, Context,
5358
18.5k
            mapped_type_constant<remove_cvref_t<A>,
5359
18.5k
                                 typename Context::char_type>::value>(args)...};
5360
18.5k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
5355
18.5k
    {
5356
18.5k
        return {detail::make_arg<
5357
18.5k
            kind, Context,
5358
18.5k
            mapped_type_constant<remove_cvref_t<A>,
5359
18.5k
                                 typename Context::char_type>::value>(args)...};
5360
18.5k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5355
18.5k
    {
5356
18.5k
        return {detail::make_arg<
5357
18.5k
            kind, Context,
5358
18.5k
            mapped_type_constant<remove_cvref_t<A>,
5359
18.5k
                                 typename Context::char_type>::value>(args)...};
5360
18.5k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5355
35.7M
    {
5356
35.7M
        return {detail::make_arg<
5357
35.7M
            kind, Context,
5358
35.7M
            mapped_type_constant<remove_cvref_t<A>,
5359
35.7M
                                 typename Context::char_type>::value>(args)...};
5360
35.7M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::make_argptrs<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5355
17.8M
    {
5356
17.8M
        return {detail::make_arg<
5357
17.8M
            kind, Context,
5358
17.8M
            mapped_type_constant<remove_cvref_t<A>,
5359
17.8M
                                 typename Context::char_type>::value>(args)...};
5360
17.8M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
5355
623k
    {
5356
623k
        return {detail::make_arg<
5357
623k
            kind, Context,
5358
623k
            mapped_type_constant<remove_cvref_t<A>,
5359
623k
                                 typename Context::char_type>::value>(args)...};
5360
623k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
5355
602k
    {
5356
602k
        return {detail::make_arg<
5357
602k
            kind, Context,
5358
602k
            mapped_type_constant<remove_cvref_t<A>,
5359
602k
                                 typename Context::char_type>::value>(args)...};
5360
602k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
5355
801k
    {
5356
801k
        return {detail::make_arg<
5357
801k
            kind, Context,
5358
801k
            mapped_type_constant<remove_cvref_t<A>,
5359
801k
                                 typename Context::char_type>::value>(args)...};
5360
801k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
5355
688k
    {
5356
688k
        return {detail::make_arg<
5357
688k
            kind, Context,
5358
688k
            mapped_type_constant<remove_cvref_t<A>,
5359
688k
                                 typename Context::char_type>::value>(args)...};
5360
688k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
5355
156k
    {
5356
156k
        return {detail::make_arg<
5357
156k
            kind, Context,
5358
156k
            mapped_type_constant<remove_cvref_t<A>,
5359
156k
                                 typename Context::char_type>::value>(args)...};
5360
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
5355
156k
    {
5356
156k
        return {detail::make_arg<
5357
156k
            kind, Context,
5358
156k
            mapped_type_constant<remove_cvref_t<A>,
5359
156k
                                 typename Context::char_type>::value>(args)...};
5360
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
5355
157k
    {
5356
157k
        return {detail::make_arg<
5357
157k
            kind, Context,
5358
157k
            mapped_type_constant<remove_cvref_t<A>,
5359
157k
                                 typename Context::char_type>::value>(args)...};
5360
157k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
5355
156k
    {
5356
156k
        return {detail::make_arg<
5357
156k
            kind, Context,
5358
156k
            mapped_type_constant<remove_cvref_t<A>,
5359
156k
                                 typename Context::char_type>::value>(args)...};
5360
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::make_argptrs<float>(float&)
Line
Count
Source
5355
1.43M
    {
5356
1.43M
        return {detail::make_arg<
5357
1.43M
            kind, Context,
5358
1.43M
            mapped_type_constant<remove_cvref_t<A>,
5359
1.43M
                                 typename Context::char_type>::value>(args)...};
5360
1.43M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::make_argptrs<long double>(long double&)
Line
Count
Source
5355
1.56M
    {
5356
1.56M
        return {detail::make_arg<
5357
1.56M
            kind, Context,
5358
1.56M
            mapped_type_constant<remove_cvref_t<A>,
5359
1.56M
                                 typename Context::char_type>::value>(args)...};
5360
1.56M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::make_argptrs<float>(float&)
Line
Count
Source
5355
191k
    {
5356
191k
        return {detail::make_arg<
5357
191k
            kind, Context,
5358
191k
            mapped_type_constant<remove_cvref_t<A>,
5359
191k
                                 typename Context::char_type>::value>(args)...};
5360
191k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::make_argptrs<long double>(long double&)
Line
Count
Source
5355
192k
    {
5356
192k
        return {detail::make_arg<
5357
192k
            kind, Context,
5358
192k
            mapped_type_constant<remove_cvref_t<A>,
5359
192k
                                 typename Context::char_type>::value>(args)...};
5360
192k
    }
5361
5362
    scan_arg_store(const scan_arg_store&) = delete;
5363
    scan_arg_store(scan_arg_store&&) = delete;
5364
    scan_arg_store& operator=(const scan_arg_store&) = delete;
5365
    scan_arg_store& operator=(scan_arg_store&&) = delete;
5366
36.0M
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store()
Line
Count
Source
5366
283k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store()
Line
Count
Source
5366
9.27k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store()
Line
Count
Source
5366
18.5k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store()
Line
Count
Source
5366
35.7M
    ~scan_arg_store() = default;
5367
5368
    std::tuple<Args...>& args()
5369
64.4M
    {
5370
64.4M
        return m_args;
5371
64.4M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::args()
Line
Count
Source
5369
9.27k
    {
5370
9.27k
        return m_args;
5371
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::args()
Line
Count
Source
5369
796k
    {
5370
796k
        return m_args;
5371
796k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::args()
Line
Count
Source
5369
690k
    {
5370
690k
        return m_args;
5371
690k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::args()
Line
Count
Source
5369
1.55M
    {
5370
1.55M
        return m_args;
5371
1.55M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::args()
Line
Count
Source
5369
9.27k
    {
5370
9.27k
        return m_args;
5371
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::args()
Line
Count
Source
5369
9.27k
    {
5370
9.27k
        return m_args;
5371
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args()
Line
Count
Source
5369
283k
    {
5370
283k
        return m_args;
5371
283k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args()
Line
Count
Source
5369
9.27k
    {
5370
9.27k
        return m_args;
5371
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::args()
Line
Count
Source
5369
145k
    {
5370
145k
        return m_args;
5371
145k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::args()
Line
Count
Source
5369
18.5k
    {
5370
18.5k
        return m_args;
5371
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::args()
Line
Count
Source
5369
175k
    {
5370
175k
        return m_args;
5371
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::args()
Line
Count
Source
5369
175k
    {
5370
175k
        return m_args;
5371
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::args()
Line
Count
Source
5369
210k
    {
5370
210k
        return m_args;
5371
210k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::args()
Line
Count
Source
5369
18.5k
    {
5370
18.5k
        return m_args;
5371
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::args()
Line
Count
Source
5369
18.5k
    {
5370
18.5k
        return m_args;
5371
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args()
Line
Count
Source
5369
18.5k
    {
5370
18.5k
        return m_args;
5371
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args()
Line
Count
Source
5369
35.7M
    {
5370
35.7M
        return m_args;
5371
35.7M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::args()
Line
Count
Source
5369
17.8M
    {
5370
17.8M
        return m_args;
5371
17.8M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::args()
Line
Count
Source
5369
623k
    {
5370
623k
        return m_args;
5371
623k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::args()
Line
Count
Source
5369
602k
    {
5370
602k
        return m_args;
5371
602k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::args()
Line
Count
Source
5369
801k
    {
5370
801k
        return m_args;
5371
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::args()
Line
Count
Source
5369
688k
    {
5370
688k
        return m_args;
5371
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::args()
Line
Count
Source
5369
156k
    {
5370
156k
        return m_args;
5371
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::args()
Line
Count
Source
5369
156k
    {
5370
156k
        return m_args;
5371
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::args()
Line
Count
Source
5369
157k
    {
5370
157k
        return m_args;
5371
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::args()
Line
Count
Source
5369
156k
    {
5370
156k
        return m_args;
5371
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::args()
Line
Count
Source
5369
1.43M
    {
5370
1.43M
        return m_args;
5371
1.43M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::args()
Line
Count
Source
5369
1.56M
    {
5370
1.56M
        return m_args;
5371
1.56M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::args()
Line
Count
Source
5369
191k
    {
5370
191k
        return m_args;
5371
191k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::args()
Line
Count
Source
5369
192k
    {
5370
192k
        return m_args;
5371
192k
    }
5372
5373
    argptrs_type& arg_pointers()
5374
64.4M
    {
5375
64.4M
        return m_argptrs;
5376
64.4M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::arg_pointers()
Line
Count
Source
5374
9.27k
    {
5375
9.27k
        return m_argptrs;
5376
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::arg_pointers()
Line
Count
Source
5374
796k
    {
5375
796k
        return m_argptrs;
5376
796k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::arg_pointers()
Line
Count
Source
5374
690k
    {
5375
690k
        return m_argptrs;
5376
690k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::arg_pointers()
Line
Count
Source
5374
1.55M
    {
5375
1.55M
        return m_argptrs;
5376
1.55M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::arg_pointers()
Line
Count
Source
5374
9.27k
    {
5375
9.27k
        return m_argptrs;
5376
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::arg_pointers()
Line
Count
Source
5374
9.27k
    {
5375
9.27k
        return m_argptrs;
5376
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers()
Line
Count
Source
5374
283k
    {
5375
283k
        return m_argptrs;
5376
283k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers()
Line
Count
Source
5374
9.27k
    {
5375
9.27k
        return m_argptrs;
5376
9.27k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::arg_pointers()
Line
Count
Source
5374
145k
    {
5375
145k
        return m_argptrs;
5376
145k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::arg_pointers()
Line
Count
Source
5374
18.5k
    {
5375
18.5k
        return m_argptrs;
5376
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::arg_pointers()
Line
Count
Source
5374
175k
    {
5375
175k
        return m_argptrs;
5376
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::arg_pointers()
Line
Count
Source
5374
175k
    {
5375
175k
        return m_argptrs;
5376
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::arg_pointers()
Line
Count
Source
5374
210k
    {
5375
210k
        return m_argptrs;
5376
210k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::arg_pointers()
Line
Count
Source
5374
18.5k
    {
5375
18.5k
        return m_argptrs;
5376
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::arg_pointers()
Line
Count
Source
5374
18.5k
    {
5375
18.5k
        return m_argptrs;
5376
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers()
Line
Count
Source
5374
18.5k
    {
5375
18.5k
        return m_argptrs;
5376
18.5k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers()
Line
Count
Source
5374
35.7M
    {
5375
35.7M
        return m_argptrs;
5376
35.7M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::arg_pointers()
Line
Count
Source
5374
17.8M
    {
5375
17.8M
        return m_argptrs;
5376
17.8M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::arg_pointers()
Line
Count
Source
5374
623k
    {
5375
623k
        return m_argptrs;
5376
623k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::arg_pointers()
Line
Count
Source
5374
602k
    {
5375
602k
        return m_argptrs;
5376
602k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::arg_pointers()
Line
Count
Source
5374
801k
    {
5375
801k
        return m_argptrs;
5376
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::arg_pointers()
Line
Count
Source
5374
688k
    {
5375
688k
        return m_argptrs;
5376
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::arg_pointers()
Line
Count
Source
5374
156k
    {
5375
156k
        return m_argptrs;
5376
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::arg_pointers()
Line
Count
Source
5374
156k
    {
5375
156k
        return m_argptrs;
5376
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::arg_pointers()
Line
Count
Source
5374
157k
    {
5375
157k
        return m_argptrs;
5376
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::arg_pointers()
Line
Count
Source
5374
156k
    {
5375
156k
        return m_argptrs;
5376
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::arg_pointers()
Line
Count
Source
5374
1.43M
    {
5375
1.43M
        return m_argptrs;
5376
1.43M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::arg_pointers()
Line
Count
Source
5374
1.56M
    {
5375
1.56M
        return m_argptrs;
5376
1.56M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::arg_pointers()
Line
Count
Source
5374
191k
    {
5375
191k
        return m_argptrs;
5376
191k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::arg_pointers()
Line
Count
Source
5374
192k
    {
5375
192k
        return m_argptrs;
5376
192k
    }
5377
5378
private:
5379
    std::tuple<Args...> m_args;
5380
    argptrs_type m_argptrs;
5381
};
5382
5383
}  // namespace detail
5384
5385
/**
5386
 * Constructs a `scan_arg_store` object, associated with `Context`,
5387
 * that contains value-initialized values of types `Args...`.
5388
 */
5389
template <typename Context = scan_context, typename... Args>
5390
constexpr auto make_scan_args()
5391
64.4M
{
5392
64.4M
    detail::check_scan_arg_types<Args...>();
5393
64.4M
    return detail::scan_arg_store<Context, Args...>{};
5394
64.4M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, char>()
Line
Count
Source
5391
9.27k
{
5392
9.27k
    detail::check_scan_arg_types<Args...>();
5393
9.27k
    return detail::scan_arg_store<Context, Args...>{};
5394
9.27k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, int>()
Line
Count
Source
5391
796k
{
5392
796k
    detail::check_scan_arg_types<Args...>();
5393
796k
    return detail::scan_arg_store<Context, Args...>{};
5394
796k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned int>()
Line
Count
Source
5391
690k
{
5392
690k
    detail::check_scan_arg_types<Args...>();
5393
690k
    return detail::scan_arg_store<Context, Args...>{};
5394
690k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, double>()
Line
Count
Source
5391
1.55M
{
5392
1.55M
    detail::check_scan_arg_types<Args...>();
5393
1.55M
    return detail::scan_arg_store<Context, Args...>{};
5394
1.55M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, bool>()
Line
Count
Source
5391
9.27k
{
5392
9.27k
    detail::check_scan_arg_types<Args...>();
5393
9.27k
    return detail::scan_arg_store<Context, Args...>{};
5394
9.27k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, void*>()
Line
Count
Source
5391
9.27k
{
5392
9.27k
    detail::check_scan_arg_types<Args...>();
5393
9.27k
    return detail::scan_arg_store<Context, Args...>{};
5394
9.27k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5391
283k
{
5392
283k
    detail::check_scan_arg_types<Args...>();
5393
283k
    return detail::scan_arg_store<Context, Args...>{};
5394
283k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5391
9.27k
{
5392
9.27k
    detail::check_scan_arg_types<Args...>();
5393
9.27k
    return detail::scan_arg_store<Context, Args...>{};
5394
9.27k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5391
145k
{
5392
145k
    detail::check_scan_arg_types<Args...>();
5393
145k
    return detail::scan_arg_store<Context, Args...>{};
5394
145k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, wchar_t>()
Line
Count
Source
5391
18.5k
{
5392
18.5k
    detail::check_scan_arg_types<Args...>();
5393
18.5k
    return detail::scan_arg_store<Context, Args...>{};
5394
18.5k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, int>()
Line
Count
Source
5391
175k
{
5392
175k
    detail::check_scan_arg_types<Args...>();
5393
175k
    return detail::scan_arg_store<Context, Args...>{};
5394
175k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned int>()
Line
Count
Source
5391
175k
{
5392
175k
    detail::check_scan_arg_types<Args...>();
5393
175k
    return detail::scan_arg_store<Context, Args...>{};
5394
175k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, double>()
Line
Count
Source
5391
210k
{
5392
210k
    detail::check_scan_arg_types<Args...>();
5393
210k
    return detail::scan_arg_store<Context, Args...>{};
5394
210k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, bool>()
Line
Count
Source
5391
18.5k
{
5392
18.5k
    detail::check_scan_arg_types<Args...>();
5393
18.5k
    return detail::scan_arg_store<Context, Args...>{};
5394
18.5k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, void*>()
Line
Count
Source
5391
18.5k
{
5392
18.5k
    detail::check_scan_arg_types<Args...>();
5393
18.5k
    return detail::scan_arg_store<Context, Args...>{};
5394
18.5k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5391
18.5k
{
5392
18.5k
    detail::check_scan_arg_types<Args...>();
5393
18.5k
    return detail::scan_arg_store<Context, Args...>{};
5394
18.5k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5391
35.7M
{
5392
35.7M
    detail::check_scan_arg_types<Args...>();
5393
35.7M
    return detail::scan_arg_store<Context, Args...>{};
5394
35.7M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5391
17.8M
{
5392
17.8M
    detail::check_scan_arg_types<Args...>();
5393
17.8M
    return detail::scan_arg_store<Context, Args...>{};
5394
17.8M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, signed char>()
Line
Count
Source
5391
623k
{
5392
623k
    detail::check_scan_arg_types<Args...>();
5393
623k
    return detail::scan_arg_store<Context, Args...>{};
5394
623k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned char>()
Line
Count
Source
5391
602k
{
5392
602k
    detail::check_scan_arg_types<Args...>();
5393
602k
    return detail::scan_arg_store<Context, Args...>{};
5394
602k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long long>()
Line
Count
Source
5391
801k
{
5392
801k
    detail::check_scan_arg_types<Args...>();
5393
801k
    return detail::scan_arg_store<Context, Args...>{};
5394
801k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned long long>()
Line
Count
Source
5391
688k
{
5392
688k
    detail::check_scan_arg_types<Args...>();
5393
688k
    return detail::scan_arg_store<Context, Args...>{};
5394
688k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, signed char>()
Line
Count
Source
5391
156k
{
5392
156k
    detail::check_scan_arg_types<Args...>();
5393
156k
    return detail::scan_arg_store<Context, Args...>{};
5394
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned char>()
Line
Count
Source
5391
156k
{
5392
156k
    detail::check_scan_arg_types<Args...>();
5393
156k
    return detail::scan_arg_store<Context, Args...>{};
5394
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long long>()
Line
Count
Source
5391
157k
{
5392
157k
    detail::check_scan_arg_types<Args...>();
5393
157k
    return detail::scan_arg_store<Context, Args...>{};
5394
157k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned long long>()
Line
Count
Source
5391
156k
{
5392
156k
    detail::check_scan_arg_types<Args...>();
5393
156k
    return detail::scan_arg_store<Context, Args...>{};
5394
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, float>()
Line
Count
Source
5391
1.43M
{
5392
1.43M
    detail::check_scan_arg_types<Args...>();
5393
1.43M
    return detail::scan_arg_store<Context, Args...>{};
5394
1.43M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long double>()
Line
Count
Source
5391
1.56M
{
5392
1.56M
    detail::check_scan_arg_types<Args...>();
5393
1.56M
    return detail::scan_arg_store<Context, Args...>{};
5394
1.56M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, float>()
Line
Count
Source
5391
191k
{
5392
191k
    detail::check_scan_arg_types<Args...>();
5393
191k
    return detail::scan_arg_store<Context, Args...>{};
5394
191k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long double>()
Line
Count
Source
5391
192k
{
5392
192k
    detail::check_scan_arg_types<Args...>();
5393
192k
    return detail::scan_arg_store<Context, Args...>{};
5394
192k
}
5395
/**
5396
 * Constructs a `scan_arg_store` object, associated with `Context`,
5397
 * that contains `values`.
5398
 */
5399
template <typename Context = scan_context, typename... Args>
5400
constexpr auto make_scan_args(std::tuple<Args...>&& values)
5401
{
5402
    detail::check_scan_arg_types<Args...>();
5403
    return detail::scan_arg_store<Context, Args...>{SCN_MOVE(values)};
5404
}
5405
5406
/**
5407
 * A view over a collection of scanning arguments (`scan_arg_store`).
5408
 *
5409
 * Passed to `scn::vscan`, where it's automatically constructed from a
5410
 * `scan_arg_store`.
5411
 */
5412
template <typename Context>
5413
class basic_scan_args {
5414
public:
5415
14.3M
    constexpr basic_scan_args() = default;
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args()
Line
Count
Source
5415
911k
    constexpr basic_scan_args() = default;
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args()
Line
Count
Source
5415
13.4M
    constexpr basic_scan_args() = default;
5416
5417
    template <typename... Args>
5418
    SCN_IMPLICIT constexpr basic_scan_args(
5419
        detail::scan_arg_store<Context, Args...>& store)
5420
        : basic_scan_args(store.desc, store.arg_pointers().data())
5421
64.4M
    {
5422
64.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>&)
Line
Count
Source
5421
9.27k
    {
5422
9.27k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>&)
Line
Count
Source
5421
796k
    {
5422
796k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>&)
Line
Count
Source
5421
690k
    {
5422
690k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>&)
Line
Count
Source
5421
1.55M
    {
5422
1.55M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>&)
Line
Count
Source
5421
9.27k
    {
5422
9.27k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>&)
Line
Count
Source
5421
9.27k
    {
5422
9.27k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
5421
283k
    {
5422
283k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
5421
9.27k
    {
5422
9.27k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
5421
145k
    {
5422
145k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<wchar_t>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>&)
Line
Count
Source
5421
18.5k
    {
5422
18.5k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>&)
Line
Count
Source
5421
175k
    {
5422
175k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>&)
Line
Count
Source
5421
175k
    {
5422
175k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>&)
Line
Count
Source
5421
210k
    {
5422
210k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>&)
Line
Count
Source
5421
18.5k
    {
5422
18.5k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>&)
Line
Count
Source
5421
18.5k
    {
5422
18.5k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
5421
18.5k
    {
5422
18.5k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
5421
35.7M
    {
5422
35.7M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
5421
17.8M
    {
5422
17.8M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>&)
Line
Count
Source
5421
623k
    {
5422
623k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>&)
Line
Count
Source
5421
602k
    {
5422
602k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>&)
Line
Count
Source
5421
801k
    {
5422
801k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>&)
Line
Count
Source
5421
688k
    {
5422
688k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>&)
Line
Count
Source
5421
156k
    {
5422
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>&)
Line
Count
Source
5421
156k
    {
5422
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>&)
Line
Count
Source
5421
157k
    {
5422
157k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>&)
Line
Count
Source
5421
156k
    {
5422
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>&)
Line
Count
Source
5421
1.43M
    {
5422
1.43M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>&)
Line
Count
Source
5421
1.56M
    {
5422
1.56M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>&)
Line
Count
Source
5421
191k
    {
5422
191k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>&)
Line
Count
Source
5421
192k
    {
5422
192k
    }
5423
5424
    /**
5425
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
5426
     * there's no argument at index `id`.
5427
     */
5428
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
5429
64.3M
    {
5430
64.3M
        if (SCN_UNLIKELY(!is_packed())) {
5431
0
            if (SCN_LIKELY(id < max_size())) {
5432
0
                return m_args[id];
5433
0
            }
5434
0
            return {};
5435
0
        }
5436
5437
64.3M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5438
144
            return {};
5439
144
        }
5440
5441
64.2M
        const auto t = type(id);
5442
64.2M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5443
2.76k
            return {};
5444
2.76k
        }
5445
5446
64.2M
        basic_scan_arg<Context> arg;
5447
64.2M
        arg.m_type = t;
5448
64.2M
        if (is_only_builtin()) {
5449
64.2M
            arg.m_value.ref_value = m_builtin_values[id];
5450
64.2M
        }
5451
0
        else {
5452
0
            arg.m_value = m_values[id];
5453
0
        }
5454
64.2M
        return arg;
5455
64.2M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::get(unsigned long) const
Line
Count
Source
5429
9.19M
    {
5430
9.19M
        if (SCN_UNLIKELY(!is_packed())) {
5431
0
            if (SCN_LIKELY(id < max_size())) {
5432
0
                return m_args[id];
5433
0
            }
5434
0
            return {};
5435
0
        }
5436
5437
9.19M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5438
68
            return {};
5439
68
        }
5440
5441
9.19M
        const auto t = type(id);
5442
9.19M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5443
1.44k
            return {};
5444
1.44k
        }
5445
5446
9.19M
        basic_scan_arg<Context> arg;
5447
9.19M
        arg.m_type = t;
5448
9.19M
        if (is_only_builtin()) {
5449
9.19M
            arg.m_value.ref_value = m_builtin_values[id];
5450
9.19M
        }
5451
0
        else {
5452
0
            arg.m_value = m_values[id];
5453
0
        }
5454
9.19M
        return arg;
5455
9.19M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::get(unsigned long) const
Line
Count
Source
5429
55.1M
    {
5430
55.1M
        if (SCN_UNLIKELY(!is_packed())) {
5431
0
            if (SCN_LIKELY(id < max_size())) {
5432
0
                return m_args[id];
5433
0
            }
5434
0
            return {};
5435
0
        }
5436
5437
55.1M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5438
76
            return {};
5439
76
        }
5440
5441
55.1M
        const auto t = type(id);
5442
55.1M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5443
1.31k
            return {};
5444
1.31k
        }
5445
5446
55.1M
        basic_scan_arg<Context> arg;
5447
55.1M
        arg.m_type = t;
5448
55.1M
        if (is_only_builtin()) {
5449
55.1M
            arg.m_value.ref_value = m_builtin_values[id];
5450
55.1M
        }
5451
0
        else {
5452
0
            arg.m_value = m_values[id];
5453
0
        }
5454
55.1M
        return arg;
5455
55.1M
    }
5456
5457
    /**
5458
     * \return Number of arguments in `*this`.
5459
     */
5460
    SCN_NODISCARD constexpr std::size_t size() const
5461
64.4M
    {
5462
64.4M
        if (SCN_UNLIKELY(!is_packed())) {
5463
0
            return max_size();
5464
0
        }
5465
5466
64.4M
        return static_cast<std::size_t>(m_desc &
5467
64.4M
                                        ((1 << detail::packed_arg_bits) - 1));
5468
64.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::size() const
Line
Count
Source
5461
9.21M
    {
5462
9.21M
        if (SCN_UNLIKELY(!is_packed())) {
5463
0
            return max_size();
5464
0
        }
5465
5466
9.21M
        return static_cast<std::size_t>(m_desc &
5467
9.21M
                                        ((1 << detail::packed_arg_bits) - 1));
5468
9.21M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::size() const
Line
Count
Source
5461
55.2M
    {
5462
55.2M
        if (SCN_UNLIKELY(!is_packed())) {
5463
0
            return max_size();
5464
0
        }
5465
5466
55.2M
        return static_cast<std::size_t>(m_desc &
5467
55.2M
                                        ((1 << detail::packed_arg_bits) - 1));
5468
55.2M
    }
5469
5470
private:
5471
    constexpr explicit basic_scan_args(size_t desc, void** data)
5472
        : m_desc(desc), m_builtin_values(data)
5473
64.4M
    {
5474
64.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args(unsigned long, void**)
Line
Count
Source
5473
9.21M
    {
5474
9.21M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args(unsigned long, void**)
Line
Count
Source
5473
55.2M
    {
5474
55.2M
    }
5475
    constexpr explicit basic_scan_args(size_t desc, detail::arg_value* data)
5476
        : m_desc(desc), m_values(data)
5477
    {
5478
    }
5479
    constexpr explicit basic_scan_args(size_t desc,
5480
                                       basic_scan_arg<Context>* data)
5481
        : m_desc(desc), m_args(data)
5482
    {
5483
    }
5484
5485
    SCN_NODISCARD constexpr bool is_packed() const
5486
128M
    {
5487
128M
        return (m_desc & detail::is_unpacked_bit) == 0;
5488
128M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_packed() const
Line
Count
Source
5486
18.4M
    {
5487
18.4M
        return (m_desc & detail::is_unpacked_bit) == 0;
5488
18.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_packed() const
Line
Count
Source
5486
110M
    {
5487
110M
        return (m_desc & detail::is_unpacked_bit) == 0;
5488
110M
    }
5489
    SCN_NODISCARD constexpr bool is_only_builtin() const
5490
64.2M
    {
5491
64.2M
        return (m_desc & detail::has_custom_types_bit) == 0;
5492
64.2M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_only_builtin() const
Line
Count
Source
5490
9.19M
    {
5491
9.19M
        return (m_desc & detail::has_custom_types_bit) == 0;
5492
9.19M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_only_builtin() const
Line
Count
Source
5490
55.1M
    {
5491
55.1M
        return (m_desc & detail::has_custom_types_bit) == 0;
5492
55.1M
    }
5493
5494
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
5495
64.2M
    {
5496
        // First (0th) index is size, types start after that
5497
64.2M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5498
64.2M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5499
64.2M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5500
64.2M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::type(unsigned long) const
Line
Count
Source
5495
9.19M
    {
5496
        // First (0th) index is size, types start after that
5497
9.19M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5498
9.19M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5499
9.19M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5500
9.19M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::type(unsigned long) const
Line
Count
Source
5495
55.1M
    {
5496
        // First (0th) index is size, types start after that
5497
55.1M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5498
55.1M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5499
55.1M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5500
55.1M
    }
5501
5502
    SCN_NODISCARD constexpr std::size_t max_size() const
5503
0
    {
5504
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
5505
0
                                       : (m_desc & ~detail::is_unpacked_bit &
5506
0
                                          ~detail::has_custom_types_bit);
5507
0
    }
Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::max_size() const
Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::max_size() const
5508
5509
    size_t m_desc{0};
5510
    union {
5511
        void** m_builtin_values;
5512
        detail::arg_value* m_values;
5513
        basic_scan_arg<Context>* m_args{nullptr};
5514
    };
5515
};
5516
5517
/////////////////////////////////////////////////////////////////
5518
// scan_parse_context
5519
/////////////////////////////////////////////////////////////////
5520
5521
/**
5522
 * Format string parsing context, wrapping the format string being parsed,
5523
 * and a counter for argument indexing.
5524
 *
5525
 * \ingroup ctx
5526
 */
5527
template <typename CharT>
5528
class basic_scan_parse_context {
5529
public:
5530
    using char_type = CharT;
5531
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
5532
5533
    /**
5534
     * Construct a `basic_scan_parse_context` over a format string `format`.
5535
     */
5536
    explicit constexpr basic_scan_parse_context(
5537
        std::basic_string_view<CharT> format,
5538
        int next_arg_id = 0)
5539
        : m_format{format}, m_next_arg_id{next_arg_id}
5540
35.6M
    {
5541
35.6M
    }
scn::v3::basic_scan_parse_context<char>::basic_scan_parse_context(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
5540
7.39M
    {
5541
7.39M
    }
scn::v3::basic_scan_parse_context<wchar_t>::basic_scan_parse_context(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
5540
28.2M
    {
5541
28.2M
    }
5542
5543
    /// Returns an iterator pointing to the beginning of the format string
5544
    constexpr auto begin() const noexcept
5545
70.5M
    {
5546
70.5M
        return m_format.data();
5547
70.5M
    }
scn::v3::basic_scan_parse_context<char>::begin() const
Line
Count
Source
5545
14.5M
    {
5546
14.5M
        return m_format.data();
5547
14.5M
    }
scn::v3::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
5545
55.9M
    {
5546
55.9M
        return m_format.data();
5547
55.9M
    }
5548
    /// Returns an iterator pointing to the end of the format string
5549
    constexpr auto end() const noexcept
5550
    {
5551
        return m_format.data() + m_format.size();
5552
    }
5553
5554
    /// Advance the beginning of the format string to `it`
5555
    constexpr void advance_to(iterator it)
5556
35.0M
    {
5557
35.0M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5558
35.0M
    }
scn::v3::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
5556
7.21M
    {
5557
7.21M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5558
7.21M
    }
scn::v3::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
5556
27.8M
    {
5557
27.8M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5558
27.8M
    }
5559
5560
    constexpr size_t next_arg_id()
5561
35.5M
    {
5562
35.5M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5563
70
            on_error(
5564
70
                "Cannot switch from manual to automatic argument indexing");
5565
70
            return 0;
5566
70
        }
5567
5568
35.5M
        auto id = static_cast<size_t>(m_next_arg_id++);
5569
35.5M
        do_check_arg_id(id);
5570
35.5M
        return id;
5571
35.5M
    }
scn::v3::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
5561
7.36M
    {
5562
7.36M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5563
42
            on_error(
5564
42
                "Cannot switch from manual to automatic argument indexing");
5565
42
            return 0;
5566
42
        }
5567
5568
7.36M
        auto id = static_cast<size_t>(m_next_arg_id++);
5569
7.36M
        do_check_arg_id(id);
5570
7.36M
        return id;
5571
7.36M
    }
scn::v3::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
5561
28.1M
    {
5562
28.1M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5563
28
            on_error(
5564
28
                "Cannot switch from manual to automatic argument indexing");
5565
28
            return 0;
5566
28
        }
5567
5568
28.1M
        auto id = static_cast<size_t>(m_next_arg_id++);
5569
28.1M
        do_check_arg_id(id);
5570
28.1M
        return id;
5571
28.1M
    }
5572
5573
    constexpr void check_arg_id(std::size_t id)
5574
3.54k
    {
5575
3.54k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5576
200
            on_error(
5577
200
                "Cannot switch from manual to automatic argument indexing");
5578
200
            return;
5579
200
        }
5580
3.34k
        m_next_arg_id = -1;
5581
3.34k
        do_check_arg_id(id);
5582
3.34k
    }
scn::v3::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Line
Count
Source
5574
3.23k
    {
5575
3.23k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5576
70
            on_error(
5577
70
                "Cannot switch from manual to automatic argument indexing");
5578
70
            return;
5579
70
        }
5580
3.16k
        m_next_arg_id = -1;
5581
3.16k
        do_check_arg_id(id);
5582
3.16k
    }
scn::v3::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
Line
Count
Source
5574
310
    {
5575
310
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5576
130
            on_error(
5577
130
                "Cannot switch from manual to automatic argument indexing");
5578
130
            return;
5579
130
        }
5580
180
        m_next_arg_id = -1;
5581
180
        do_check_arg_id(id);
5582
180
    }
5583
5584
    constexpr scan_error on_error(const char* msg) const
5585
270
    {
5586
270
        return detail::handle_error(
5587
270
            scan_error{scan_error::invalid_format_string, msg});
5588
270
    }
scn::v3::basic_scan_parse_context<char>::on_error(char const*) const
Line
Count
Source
5585
112
    {
5586
112
        return detail::handle_error(
5587
112
            scan_error{scan_error::invalid_format_string, msg});
5588
112
    }
scn::v3::basic_scan_parse_context<wchar_t>::on_error(char const*) const
Line
Count
Source
5585
158
    {
5586
158
        return detail::handle_error(
5587
158
            scan_error{scan_error::invalid_format_string, msg});
5588
158
    }
5589
5590
protected:
5591
    constexpr void do_check_arg_id(size_t id);
5592
5593
    std::basic_string_view<CharT> m_format;
5594
    int m_next_arg_id{0};
5595
};
5596
5597
/////////////////////////////////////////////////////////////////
5598
// Result types
5599
/////////////////////////////////////////////////////////////////
5600
5601
namespace detail {
5602
template <typename... Args>
5603
struct scan_result_value_storage {
5604
public:
5605
    using tuple_type = std::tuple<Args...>;
5606
5607
    constexpr scan_result_value_storage() = default;
5608
5609
    constexpr scan_result_value_storage(tuple_type&& values)
5610
        : m_values(SCN_MOVE(values))
5611
76.2M
    {
5612
76.2M
    }
scn::v3::detail::scan_result_value_storage<char>::scan_result_value_storage(std::__1::tuple<char>&&)
Line
Count
Source
5611
146
    {
5612
146
    }
scn::v3::detail::scan_result_value_storage<int>::scan_result_value_storage(std::__1::tuple<int>&&)
Line
Count
Source
5611
767k
    {
5612
767k
    }
scn::v3::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage(std::__1::tuple<unsigned int>&&)
Line
Count
Source
5611
652k
    {
5612
652k
    }
scn::v3::detail::scan_result_value_storage<double>::scan_result_value_storage(std::__1::tuple<double>&&)
Line
Count
Source
5611
1.66M
    {
5612
1.66M
    }
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<bool>::scan_result_value_storage(std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<void*>::scan_result_value_storage(std::__1::tuple<void*>&&)
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5611
319k
    {
5612
319k
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5611
44.5M
    {
5612
44.5M
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
5611
158k
    {
5612
158k
    }
scn::v3::detail::scan_result_value_storage<wchar_t>::scan_result_value_storage(std::__1::tuple<wchar_t>&&)
Line
Count
Source
5611
74
    {
5612
74
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
5611
22.2M
    {
5612
22.2M
    }
scn::v3::detail::scan_result_value_storage<signed char>::scan_result_value_storage(std::__1::tuple<signed char>&&)
Line
Count
Source
5611
595k
    {
5612
595k
    }
scn::v3::detail::scan_result_value_storage<unsigned char>::scan_result_value_storage(std::__1::tuple<unsigned char>&&)
Line
Count
Source
5611
568k
    {
5612
568k
    }
scn::v3::detail::scan_result_value_storage<long long>::scan_result_value_storage(std::__1::tuple<long long>&&)
Line
Count
Source
5611
783k
    {
5612
783k
    }
scn::v3::detail::scan_result_value_storage<unsigned long long>::scan_result_value_storage(std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5611
660k
    {
5612
660k
    }
scn::v3::detail::scan_result_value_storage<float>::scan_result_value_storage(std::__1::tuple<float>&&)
Line
Count
Source
5611
1.54M
    {
5612
1.54M
    }
scn::v3::detail::scan_result_value_storage<long double>::scan_result_value_storage(std::__1::tuple<long double>&&)
Line
Count
Source
5611
1.69M
    {
5612
1.69M
    }
5613
5614
    /// Access the scanned values
5615
    tuple_type& values() &
5616
    {
5617
        return m_values;
5618
    }
5619
    /// Access the scanned values
5620
    const tuple_type& values() const&
5621
    {
5622
        return m_values;
5623
    }
5624
    /// Access the scanned values
5625
    tuple_type&& values() &&
5626
    {
5627
        return SCN_MOVE(m_values);
5628
    }
5629
    /// Access the scanned values
5630
    const tuple_type&& values() const&&
5631
    {
5632
        return SCN_MOVE(m_values);
5633
    }
5634
5635
    /// Access the single scanned value
5636
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5637
    decltype(auto) value() &
5638
    {
5639
        return std::get<0>(m_values);
5640
    }
5641
    /// Access the single scanned value
5642
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5643
    decltype(auto) value() const&
5644
    {
5645
        return std::get<0>(m_values);
5646
    }
5647
    /// Access the single scanned value
5648
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5649
    decltype(auto) value() &&
5650
    {
5651
        return SCN_MOVE(std::get<0>(m_values));
5652
    }
5653
    /// Access the single scanned value
5654
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5655
    decltype(auto) value() const&&
5656
    {
5657
        return SCN_MOVE(std::get<0>(m_values));
5658
    }
5659
5660
private:
5661
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
5662
};
5663
5664
struct scan_result_convert_tag {};
5665
5666
template <typename Range>
5667
struct scan_result_range_storage {
5668
public:
5669
    using range_type = Range;
5670
    using iterator = ranges::iterator_t<Range>;
5671
    using sentinel = ranges::sentinel_t<Range>;
5672
5673
    constexpr scan_result_range_storage() = default;
5674
5675
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
5676
76.2M
    {
5677
76.2M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
5676
4.70M
    {
5677
4.70M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
5676
44.6M
    {
5677
44.6M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
5676
4.57M
    {
5677
4.57M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
5676
22.3M
    {
5677
22.3M
    }
5678
5679
    template <typename R>
5680
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
5681
        : m_range(SCN_MOVE(r))
5682
    {
5683
    }
5684
5685
    /// Access the ununsed source range
5686
    range_type range() const
5687
    {
5688
        return m_range;
5689
    }
5690
5691
    /// The beginning of the unused source range
5692
    auto begin() const
5693
76.2M
    {
5694
76.2M
        return ranges::begin(m_range);
5695
76.2M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
5693
4.69M
    {
5694
4.69M
        return ranges::begin(m_range);
5695
4.69M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
5693
4.57M
    {
5694
4.57M
        return ranges::begin(m_range);
5695
4.57M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
5693
44.6M
    {
5694
44.6M
        return ranges::begin(m_range);
5695
44.6M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
5693
22.3M
    {
5694
22.3M
        return ranges::begin(m_range);
5695
22.3M
    }
5696
    /// The end of the unused source range
5697
    auto end() const
5698
0
    {
5699
0
        return ranges::end(m_range);
5700
0
    }
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
5701
5702
protected:
5703
    template <typename Other>
5704
    void assign_range(Other&& r)
5705
    {
5706
        m_range = r.m_range;
5707
    }
5708
5709
private:
5710
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
5711
};
5712
5713
struct scan_result_file_storage {
5714
public:
5715
    using range_type = std::FILE*;
5716
5717
    constexpr scan_result_file_storage() = default;
5718
5719
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
5720
5721
    /// File used for scanning
5722
    std::FILE* file() const
5723
0
    {
5724
0
        return m_file;
5725
0
    }
5726
5727
protected:
5728
    void assign_range(const scan_result_file_storage& f)
5729
0
    {
5730
0
        m_file = f.m_file;
5731
0
    }
5732
5733
private:
5734
    std::FILE* m_file{nullptr};
5735
};
5736
5737
struct scan_result_dangling {
5738
    using range_type = ranges::dangling;
5739
5740
    constexpr scan_result_dangling() = default;
5741
5742
    template <typename... Args>
5743
    explicit constexpr scan_result_dangling(Args&&...)
5744
    {
5745
    }
5746
5747
    range_type range() const
5748
0
    {
5749
0
        return {};
5750
0
    }
5751
5752
    ranges::dangling begin() const
5753
0
    {
5754
0
        return {};
5755
0
    }
5756
    ranges::dangling end() const
5757
0
    {
5758
0
        return {};
5759
0
    }
5760
5761
protected:
5762
    template <typename... Args>
5763
    void assign_range(Args&&...)
5764
    {
5765
    }
5766
};
5767
5768
template <typename Range>
5769
constexpr auto get_scan_result_base()
5770
0
{
5771
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
5772
0
        return type_identity<scan_result_dangling>{};
5773
0
    }
5774
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
5775
0
        return type_identity<scan_result_file_storage>{};
5776
0
    }
5777
0
    else {
5778
0
        return type_identity<scan_result_range_storage<Range>>{};
5779
0
    }
5780
0
}
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
5781
5782
#if !SCN_DOXYGEN
5783
template <typename Range>
5784
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
5785
#else
5786
template <typename Range>
5787
using scan_result_base = scan_result_range_storage<Range>;
5788
#endif
5789
}  // namespace detail
5790
5791
/**
5792
 * \defgroup result Result types
5793
 *
5794
 * \brief Result and error types
5795
 *
5796
 * Instead of using exceptions, `scn::scan` and others return an object of
5797
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
5798
 */
5799
5800
/**
5801
 * Type returned by `scan`, contains the unused input as a subrange, and the
5802
 * scanned values in a tuple.
5803
 */
5804
template <typename Range, typename... Args>
5805
class scan_result : public detail::scan_result_base<Range>,
5806
                    public detail::scan_result_value_storage<Args...> {
5807
    using range_base = detail::scan_result_base<Range>;
5808
    using value_base = detail::scan_result_value_storage<Args...>;
5809
5810
public:
5811
    using range_type = typename range_base::range_type;
5812
    using tuple_type = typename value_base::tuple_type;
5813
5814
    constexpr scan_result() = default;
5815
5816
    constexpr scan_result(const scan_result&) = default;
5817
44.9M
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5817
158k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5817
788
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5817
86
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5817
22.2M
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5817
160k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5817
22.2M
    constexpr scan_result(scan_result&&) = default;
5818
    constexpr scan_result& operator=(const scan_result&) = default;
5819
    constexpr scan_result& operator=(scan_result&&) = default;
5820
5821
89.8M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5821
316k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5821
1.57k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5821
172
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5821
44.5M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5821
321k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5821
44.5M
    ~scan_result() = default;
5822
5823
    scan_result(range_type r, tuple_type&& values)
5824
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5825
76.2M
    {
5826
76.2M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<char>&&)
Line
Count
Source
5825
146
    {
5826
146
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<int>&&)
Line
Count
Source
5825
382k
    {
5826
382k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5825
324k
    {
5826
324k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<double>&&)
Line
Count
Source
5825
810k
    {
5826
810k
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<void*>&&)
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5825
158k
    {
5826
158k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5825
788
    {
5826
788
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
5825
158k
    {
5826
158k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<wchar_t>&&)
Line
Count
Source
5825
74
    {
5826
74
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<int>&&)
Line
Count
Source
5825
711
    {
5826
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5825
564
    {
5826
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<double>&&)
Line
Count
Source
5825
20.5k
    {
5826
20.5k
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<void*>&&)
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5825
86
    {
5826
86
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5825
22.2M
    {
5826
22.2M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
5825
22.2M
    {
5826
22.2M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<signed char>&&)
Line
Count
Source
5825
296k
    {
5826
296k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5825
283k
    {
5826
283k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long long>&&)
Line
Count
Source
5825
390k
    {
5826
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5825
328k
    {
5826
328k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<signed char>&&)
Line
Count
Source
5825
297k
    {
5826
297k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5825
284k
    {
5826
284k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<int>&&)
Line
Count
Source
5825
383k
    {
5826
383k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5825
326k
    {
5826
326k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long long>&&)
Line
Count
Source
5825
390k
    {
5826
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5825
330k
    {
5826
330k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<signed char>&&)
Line
Count
Source
5825
595
    {
5826
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5825
500
    {
5826
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long long>&&)
Line
Count
Source
5825
864
    {
5826
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5825
694
    {
5826
694
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<signed char>&&)
Line
Count
Source
5825
595
    {
5826
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5825
500
    {
5826
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<int>&&)
Line
Count
Source
5825
711
    {
5826
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5825
564
    {
5826
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long long>&&)
Line
Count
Source
5825
864
    {
5826
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5825
694
    {
5826
694
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5825
160k
    {
5826
160k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5825
22.2M
    {
5826
22.2M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<float>&&)
Line
Count
Source
5825
746k
    {
5826
746k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long double>&&)
Line
Count
Source
5825
821k
    {
5826
821k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<float>&&)
Line
Count
Source
5825
754k
    {
5826
754k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<double>&&)
Line
Count
Source
5825
818k
    {
5826
818k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long double>&&)
Line
Count
Source
5825
828k
    {
5826
828k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<float>&&)
Line
Count
Source
5825
20.4k
    {
5826
20.4k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long double>&&)
Line
Count
Source
5825
20.7k
    {
5826
20.7k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<float>&&)
Line
Count
Source
5825
20.3k
    {
5826
20.3k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<double>&&)
Line
Count
Source
5825
20.5k
    {
5826
20.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long double>&&)
Line
Count
Source
5825
20.6k
    {
5826
20.6k
    }
5827
5828
    template <typename OtherR,
5829
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
5830
                  nullptr>
5831
    scan_result(OtherR&& r, tuple_type&& values)
5832
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
5833
          value_base(SCN_MOVE(values))
5834
    {
5835
    }
5836
5837
    template <typename OtherR,
5838
              std::enable_if_t<
5839
                  std::is_constructible_v<range_type, OtherR> &&
5840
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
5841
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
5842
        : range_base(detail::scan_result_convert_tag{}, o.range()),
5843
          value_base(o.values())
5844
    {
5845
    }
5846
    template <typename OtherR,
5847
              std::enable_if_t<
5848
                  std::is_constructible_v<range_type, OtherR> &&
5849
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
5850
    explicit scan_result(const scan_result<OtherR, Args...>& o)
5851
        : range_base(detail::scan_result_convert_tag{}, o.range()),
5852
          value_base(o.values())
5853
    {
5854
    }
5855
5856
    template <typename OtherR,
5857
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
5858
                               std::is_convertible_v<OtherR&&, range_type>>* =
5859
                  nullptr>
5860
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
5861
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
5862
          value_base(SCN_MOVE(o.values()))
5863
    {
5864
    }
5865
    template <typename OtherR,
5866
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
5867
                               !std::is_convertible_v<OtherR&&, range_type>>* =
5868
                  nullptr>
5869
    explicit scan_result(scan_result<OtherR, Args...>&& o)
5870
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
5871
          value_base(SCN_MOVE(o.values()))
5872
    {
5873
    }
5874
5875
    template <typename OtherR,
5876
              typename =
5877
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
5878
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
5879
    {
5880
        this->assign_range(o);
5881
        this->values() = o.values();
5882
        return *this;
5883
    }
5884
5885
    template <typename OtherR,
5886
              typename =
5887
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
5888
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
5889
    {
5890
        this->assign_range(o);
5891
        this->values() = SCN_MOVE(o.values());
5892
        return *this;
5893
    }
5894
};
5895
5896
template <typename R, typename... Args>
5897
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
5898
template <typename R, typename Ctx, typename... Args>
5899
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
5900
    -> scan_result<R, Args...>;
5901
5902
namespace detail {
5903
template <typename SourceRange>
5904
auto make_vscan_result_range_end(SourceRange& source)
5905
76.2M
{
5906
76.2M
    return ranges::end(source);
5907
76.2M
}
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5905
2.51k
{
5906
2.51k
    return ranges::end(source);
5907
2.51k
}
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5905
332
{
5906
332
    return ranges::end(source);
5907
332
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
5905
4.69M
{
5906
4.69M
    return ranges::end(source);
5907
4.69M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
5905
4.57M
{
5906
4.57M
    return ranges::end(source);
5907
4.57M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
5905
44.6M
{
5906
44.6M
    return ranges::end(source);
5907
44.6M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
5905
22.3M
{
5906
22.3M
    return ranges::end(source);
5907
22.3M
}
5908
template <typename CharT, size_t N>
5909
auto make_vscan_result_range_end(CharT (&source)[N])
5910
    -> ranges::sentinel_t<CharT (&)[N]>
5911
{
5912
    return source + N - 1;
5913
}
5914
5915
template <typename SourceRange>
5916
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
5917
    -> borrowed_tail_subrange_t<SourceRange>
5918
76.2M
{
5919
76.2M
    if constexpr (ranges::random_access_iterator<
5920
76.2M
                      ranges::iterator_t<SourceRange>>) {
5921
76.2M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5922
76.2M
    }
5923
76.2M
    else {
5924
76.2M
        auto it = ranges::begin(source);
5925
76.2M
        while (n > 0) {
5926
76.2M
            --n;
5927
76.2M
            ++it;
5928
76.2M
        }
5929
76.2M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5930
76.2M
    }
5931
76.2M
}
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
5918
2.51k
{
5919
2.51k
    if constexpr (ranges::random_access_iterator<
5920
2.51k
                      ranges::iterator_t<SourceRange>>) {
5921
2.51k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5922
2.51k
    }
5923
2.51k
    else {
5924
2.51k
        auto it = ranges::begin(source);
5925
2.51k
        while (n > 0) {
5926
2.51k
            --n;
5927
2.51k
            ++it;
5928
2.51k
        }
5929
2.51k
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5930
2.51k
    }
5931
2.51k
}
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
5918
332
{
5919
332
    if constexpr (ranges::random_access_iterator<
5920
332
                      ranges::iterator_t<SourceRange>>) {
5921
332
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5922
332
    }
5923
332
    else {
5924
332
        auto it = ranges::begin(source);
5925
332
        while (n > 0) {
5926
332
            --n;
5927
332
            ++it;
5928
332
        }
5929
332
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5930
332
    }
5931
332
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
5918
4.69M
{
5919
4.69M
    if constexpr (ranges::random_access_iterator<
5920
4.69M
                      ranges::iterator_t<SourceRange>>) {
5921
4.69M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5922
4.69M
    }
5923
4.69M
    else {
5924
4.69M
        auto it = ranges::begin(source);
5925
4.69M
        while (n > 0) {
5926
4.69M
            --n;
5927
4.69M
            ++it;
5928
4.69M
        }
5929
4.69M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5930
4.69M
    }
5931
4.69M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
5918
4.57M
{
5919
4.57M
    if constexpr (ranges::random_access_iterator<
5920
4.57M
                      ranges::iterator_t<SourceRange>>) {
5921
4.57M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5922
4.57M
    }
5923
4.57M
    else {
5924
4.57M
        auto it = ranges::begin(source);
5925
4.57M
        while (n > 0) {
5926
4.57M
            --n;
5927
4.57M
            ++it;
5928
4.57M
        }
5929
4.57M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5930
4.57M
    }
5931
4.57M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
5918
44.6M
{
5919
44.6M
    if constexpr (ranges::random_access_iterator<
5920
44.6M
                      ranges::iterator_t<SourceRange>>) {
5921
44.6M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5922
44.6M
    }
5923
44.6M
    else {
5924
44.6M
        auto it = ranges::begin(source);
5925
44.6M
        while (n > 0) {
5926
44.6M
            --n;
5927
44.6M
            ++it;
5928
44.6M
        }
5929
44.6M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5930
44.6M
    }
5931
44.6M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
5918
22.3M
{
5919
22.3M
    if constexpr (ranges::random_access_iterator<
5920
22.3M
                      ranges::iterator_t<SourceRange>>) {
5921
22.3M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5922
22.3M
    }
5923
22.3M
    else {
5924
22.3M
        auto it = ranges::begin(source);
5925
22.3M
        while (n > 0) {
5926
22.3M
            --n;
5927
22.3M
            ++it;
5928
22.3M
        }
5929
22.3M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5930
22.3M
    }
5931
22.3M
}
5932
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
5933
0
{
5934
0
    return source;
5935
0
}
5936
}  // namespace detail
5937
5938
/////////////////////////////////////////////////////////////////
5939
// Format string parsing
5940
/////////////////////////////////////////////////////////////////
5941
5942
namespace detail {
5943
/// Parse context with extra data used only for compile-time checks
5944
template <typename CharT>
5945
class compile_parse_context : public basic_scan_parse_context<CharT> {
5946
    using base = basic_scan_parse_context<CharT>;
5947
5948
public:
5949
    template <typename Source>
5950
    explicit constexpr compile_parse_context(
5951
        std::basic_string_view<CharT> format_str,
5952
        int num_args,
5953
        const arg_type* types,
5954
        type_identity<Source> source_tag,
5955
        int next_arg_id = 0)
5956
        : base(format_str, next_arg_id),
5957
          m_num_args(num_args),
5958
          m_types(types),
5959
          m_is_contiguous(ranges::range<Source> &&
5960
                          ranges::contiguous_range<Source>),
5961
          m_is_borrowed(
5962
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
5963
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
5964
    {
5965
    }
5966
5967
    SCN_NODISCARD constexpr int get_num_args() const
5968
0
    {
5969
0
        return m_num_args;
5970
0
    }
Unexecuted instantiation: scn::v3::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v3::detail::compile_parse_context<wchar_t>::get_num_args() const
5971
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
5972
    {
5973
        return m_types[id];
5974
    }
5975
5976
    SCN_GCC_PUSH
5977
    SCN_GCC_IGNORE("-Wsign-conversion")
5978
5979
    constexpr std::size_t next_arg_id()
5980
    {
5981
        auto id = base::next_arg_id();
5982
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
5983
            this->on_error("Argument not found");
5984
        }
5985
        return id;
5986
    }
5987
5988
    constexpr void check_arg_id(std::size_t id)
5989
    {
5990
        base::check_arg_id(id);
5991
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
5992
            this->on_error("Argument not found");
5993
        }
5994
    }
5995
    using base::check_arg_id;
5996
5997
    constexpr void check_arg_can_be_read(std::size_t id)
5998
    {
5999
        auto type = get_arg_type(id);
6000
6001
        if ((type == arg_type::narrow_string_view_type ||
6002
             type == arg_type::wide_string_view_type) &&
6003
            !m_is_contiguous) {
6004
            // clang-format off
6005
            this->on_error("Cannot read a string_view from a non-contiguous source");
6006
            // clang-format on
6007
            return;
6008
        }
6009
        if ((type == arg_type::narrow_string_view_type ||
6010
             type == arg_type::wide_string_view_type) &&
6011
            !m_is_borrowed) {
6012
            // clang-format off
6013
            this->on_error("Cannot read a string_view from a non-borrowed source");
6014
            // clang-format on
6015
            return;
6016
        }
6017
6018
        if ((type == arg_type::narrow_regex_matches_type ||
6019
             type == arg_type::wide_regex_matches_type) &&
6020
            !m_is_contiguous) {
6021
            // clang-format off
6022
            this->on_error("Cannot read a regex_matches from a non-contiguous source");
6023
            // clang-format on
6024
            return;
6025
        }
6026
    }
6027
6028
private:
6029
    int m_num_args;
6030
    const arg_type* m_types;
6031
    bool m_is_contiguous, m_is_borrowed;
6032
6033
    SCN_GCC_POP  // -Wsign-conversion
6034
};
6035
6036
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6037
0
{
6038
0
#ifdef __cpp_lib_is_constant_evaluated
6039
0
    SCN_UNUSED(default_value);
6040
0
    return std::is_constant_evaluated();
6041
0
#else
6042
0
    return default_value;
6043
0
#endif
6044
0
}
6045
}  // namespace detail
6046
6047
template <typename CharT>
6048
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6049
35.5M
{
6050
35.5M
    if (detail::is_constant_evaluated() &&
6051
35.5M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6052
        // The cast below will cause an error on gcc pre-12
6053
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6054
0
        if (static_cast<int>(id) >=
6055
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6056
0
            SCN_UNLIKELY_ATTR
6057
0
            on_error("Argument not found");
6058
0
        }
6059
0
    }
6060
35.5M
}
scn::v3::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6049
7.37M
{
6050
7.37M
    if (detail::is_constant_evaluated() &&
6051
7.37M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6052
        // The cast below will cause an error on gcc pre-12
6053
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6054
0
        if (static_cast<int>(id) >=
6055
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6056
0
            SCN_UNLIKELY_ATTR
6057
0
            on_error("Argument not found");
6058
0
        }
6059
0
    }
6060
7.37M
}
scn::v3::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6049
28.1M
{
6050
28.1M
    if (detail::is_constant_evaluated() &&
6051
28.1M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6052
        // The cast below will cause an error on gcc pre-12
6053
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6054
0
        if (static_cast<int>(id) >=
6055
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6056
0
            SCN_UNLIKELY_ATTR
6057
0
            on_error("Argument not found");
6058
0
        }
6059
0
    }
6060
28.1M
}
6061
6062
namespace detail {
6063
enum class align_type : unsigned char {
6064
    none = 0,
6065
    left = 1,   // '<'
6066
    right = 2,  // '>'
6067
    center = 3  // '^'
6068
};
6069
6070
enum class presentation_type {
6071
    none,
6072
    int_binary,            // 'b', 'B'
6073
    int_decimal,           // 'd'
6074
    int_generic,           // 'i'
6075
    int_unsigned_decimal,  // 'u'
6076
    int_octal,             // 'o'
6077
    int_hex,               // 'x', 'X'
6078
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6079
    float_hex,             // 'a', 'A'
6080
    float_scientific,      // 'e', 'E'
6081
    float_fixed,           // 'f', 'F'
6082
    float_general,         // 'g', 'G'
6083
    string,                // 's'
6084
    string_set,            // '[...]'
6085
    regex,                 // '/.../.'
6086
    regex_escaped,         // '/..\/../.'
6087
    character,             // 'c'
6088
    escaped_character,     // '?'
6089
    pointer,               // 'p'
6090
};
6091
6092
enum class regex_flags {
6093
    none = 0,
6094
    multiline = 1,   // /m
6095
    singleline = 2,  // /s
6096
    nocase = 4,      // /i
6097
    nocapture = 8,   // /n
6098
    // TODO?
6099
    // would probably need to go hand-in-hand with locale,
6100
    // where it could even be the default/only option -> no flag?
6101
    // why else would you even use locale with a regex?
6102
    // collate = 16,
6103
};
6104
6105
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6106
61.1k
{
6107
61.1k
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6108
61.1k
                                    static_cast<unsigned>(b));
6109
61.1k
}
6110
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6111
5.20k
{
6112
5.20k
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6113
5.20k
                                    static_cast<unsigned>(b));
6114
5.20k
}
6115
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6116
0
{
6117
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6118
0
                                    static_cast<unsigned>(b));
6119
0
}
6120
6121
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6122
0
{
6123
0
    return a = a & b;
6124
0
}
6125
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6126
5.20k
{
6127
5.20k
    return a = a | b;
6128
5.20k
}
6129
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6130
0
{
6131
0
    return a = a ^ b;
6132
0
}
6133
6134
class fill_type {
6135
public:
6136
    constexpr void operator=(char c)
6137
0
    {
6138
0
        m_data[0] = c;
6139
0
        m_size = 1;
6140
0
    }
6141
6142
    template <typename CharT>
6143
    constexpr void operator=(std::basic_string_view<CharT> s)
6144
5.33k
    {
6145
5.33k
        SCN_EXPECT(!s.empty());
6146
5.33k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6147
5.33k
        if constexpr (sizeof(CharT) == 1) {
6148
10.9k
            for (size_t i = 0; i < s.size(); ++i) {
6149
6.00k
                SCN_GCC_PUSH
6150
6.00k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6151
6.00k
                m_data[i] = s[i];
6152
6.00k
                SCN_GCC_POP
6153
6.00k
            }
6154
4.92k
            m_size = static_cast<unsigned char>(s.size());
6155
4.92k
        }
6156
414
        else if constexpr (sizeof(CharT) == 2) {
6157
414
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6158
414
            m_data[1] =
6159
414
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6160
414
            if (s.size() == 1) {
6161
414
                return;
6162
414
            }
6163
414
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6164
414
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6165
414
        }
6166
414
        else {
6167
414
            const auto front = static_cast<unsigned>(s.front());
6168
414
            m_data[0] = static_cast<char>(front);
6169
414
            m_data[1] = static_cast<char>(front >> 8);
6170
414
            m_data[2] = static_cast<char>(front >> 16);
6171
414
            m_data[3] = static_cast<char>(front >> 24);
6172
414
        }
6173
5.33k
    }
void scn::v3::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6144
4.92k
    {
6145
4.92k
        SCN_EXPECT(!s.empty());
6146
4.92k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6147
4.92k
        if constexpr (sizeof(CharT) == 1) {
6148
10.9k
            for (size_t i = 0; i < s.size(); ++i) {
6149
6.00k
                SCN_GCC_PUSH
6150
6.00k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6151
6.00k
                m_data[i] = s[i];
6152
6.00k
                SCN_GCC_POP
6153
6.00k
            }
6154
4.92k
            m_size = static_cast<unsigned char>(s.size());
6155
4.92k
        }
6156
4.92k
        else if constexpr (sizeof(CharT) == 2) {
6157
4.92k
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6158
4.92k
            m_data[1] =
6159
4.92k
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6160
4.92k
            if (s.size() == 1) {
6161
4.92k
                return;
6162
4.92k
            }
6163
4.92k
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6164
4.92k
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6165
4.92k
        }
6166
4.92k
        else {
6167
4.92k
            const auto front = static_cast<unsigned>(s.front());
6168
4.92k
            m_data[0] = static_cast<char>(front);
6169
4.92k
            m_data[1] = static_cast<char>(front >> 8);
6170
4.92k
            m_data[2] = static_cast<char>(front >> 16);
6171
4.92k
            m_data[3] = static_cast<char>(front >> 24);
6172
4.92k
        }
6173
4.92k
    }
void scn::v3::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6144
414
    {
6145
414
        SCN_EXPECT(!s.empty());
6146
414
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6147
414
        if constexpr (sizeof(CharT) == 1) {
6148
414
            for (size_t i = 0; i < s.size(); ++i) {
6149
414
                SCN_GCC_PUSH
6150
414
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6151
414
                m_data[i] = s[i];
6152
414
                SCN_GCC_POP
6153
414
            }
6154
414
            m_size = static_cast<unsigned char>(s.size());
6155
414
        }
6156
414
        else if constexpr (sizeof(CharT) == 2) {
6157
414
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6158
414
            m_data[1] =
6159
414
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6160
414
            if (s.size() == 1) {
6161
414
                return;
6162
414
            }
6163
414
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6164
414
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6165
414
        }
6166
414
        else {
6167
414
            const auto front = static_cast<unsigned>(s.front());
6168
414
            m_data[0] = static_cast<char>(front);
6169
414
            m_data[1] = static_cast<char>(front >> 8);
6170
414
            m_data[2] = static_cast<char>(front >> 16);
6171
414
            m_data[3] = static_cast<char>(front >> 24);
6172
414
        }
6173
414
    }
6174
6175
    constexpr size_t size() const
6176
4.05k
    {
6177
4.05k
        return m_size;
6178
4.05k
    }
6179
6180
    template <typename CharT>
6181
    CharT get_code_unit() const
6182
3.56k
    {
6183
3.56k
        SCN_EXPECT(m_size <= sizeof(CharT));
6184
3.56k
        CharT r{};
6185
3.56k
        std::memcpy(&r, m_data, m_size);
6186
3.56k
        return r;
6187
3.56k
    }
char scn::v3::detail::fill_type::get_code_unit<char>() const
Line
Count
Source
6182
2.98k
    {
6183
2.98k
        SCN_EXPECT(m_size <= sizeof(CharT));
6184
2.98k
        CharT r{};
6185
2.98k
        std::memcpy(&r, m_data, m_size);
6186
2.98k
        return r;
6187
2.98k
    }
wchar_t scn::v3::detail::fill_type::get_code_unit<wchar_t>() const
Line
Count
Source
6182
576
    {
6183
576
        SCN_EXPECT(m_size <= sizeof(CharT));
6184
576
        CharT r{};
6185
576
        std::memcpy(&r, m_data, m_size);
6186
576
        return r;
6187
576
    }
6188
6189
    template <typename CharT>
6190
    std::basic_string_view<CharT> get_code_units() const
6191
492
    {
6192
492
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6193
492
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::fill_type::get_code_units<char>() const
Line
Count
Source
6191
492
    {
6192
492
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6193
492
    }
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::fill_type::get_code_units<wchar_t>() const
6194
6195
private:
6196
    static constexpr size_t max_size = 4;
6197
    char m_data[max_size] = {' '};
6198
    unsigned char m_size{1};
6199
};
6200
6201
struct format_specs {
6202
    int width{0}, precision{0};
6203
    fill_type fill{};
6204
    presentation_type type{presentation_type::none};
6205
    std::array<uint8_t, 128 / 8> charset_literals{0};
6206
    bool charset_has_nonascii{false}, charset_is_inverted{false};
6207
    const void* charset_string_data{nullptr};
6208
    size_t charset_string_size{0};
6209
    regex_flags regexp_flags{regex_flags::none};
6210
    unsigned char arbitrary_base{0};
6211
    align_type align{align_type::none};
6212
    bool localized{false};
6213
6214
    constexpr format_specs() = default;
6215
6216
    SCN_NODISCARD constexpr int get_base() const
6217
3.92M
    {
6218
3.92M
        SCN_GCC_COMPAT_PUSH
6219
3.92M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
6220
3.92M
        switch (type) {
6221
744k
            case presentation_type::none:
6222
744k
                return 10;
6223
1.02M
            case presentation_type::int_generic:
6224
1.02M
                return 0;
6225
0
            case presentation_type::int_arbitrary_base:
6226
0
                return arbitrary_base;
6227
6228
222k
            case presentation_type::int_binary:
6229
222k
                return 2;
6230
349k
            case presentation_type::int_octal:
6231
349k
                return 8;
6232
741k
            case presentation_type::int_decimal:
6233
741k
            case presentation_type::int_unsigned_decimal:
6234
741k
                return 10;
6235
836k
            case presentation_type::int_hex:
6236
836k
                return 16;
6237
6238
0
            default:
6239
0
                SCN_EXPECT(false);
6240
3.92M
                SCN_UNREACHABLE;
6241
3.92M
        }
6242
3.92M
        SCN_GCC_COMPAT_POP
6243
3.92M
    }
6244
6245
    template <typename CharT>
6246
    std::basic_string_view<CharT> charset_string() const
6247
17.1k
    {
6248
17.1k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6249
17.1k
                charset_string_size};
6250
17.1k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::format_specs::charset_string<char>() const
Line
Count
Source
6247
13.8k
    {
6248
13.8k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6249
13.8k
                charset_string_size};
6250
13.8k
    }
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::format_specs::charset_string<wchar_t>() const
Line
Count
Source
6247
3.30k
    {
6248
3.30k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6249
3.30k
                charset_string_size};
6250
3.30k
    }
6251
};
6252
6253
struct specs_setter {
6254
public:
6255
35.5M
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
6256
6257
    constexpr void on_align(align_type align)
6258
9.19k
    {
6259
9.19k
        m_specs.align = align;
6260
9.19k
    }
6261
    template <typename CharT>
6262
    constexpr void on_fill(std::basic_string_view<CharT> fill)
6263
5.33k
    {
6264
5.33k
        m_specs.fill = fill;
6265
5.33k
    }
void scn::v3::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6263
4.92k
    {
6264
4.92k
        m_specs.fill = fill;
6265
4.92k
    }
void scn::v3::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6263
414
    {
6264
414
        m_specs.fill = fill;
6265
414
    }
6266
    constexpr void on_localized()
6267
1.87M
    {
6268
1.87M
        if constexpr (!SCN_DISABLE_LOCALE) {
6269
1.87M
            m_specs.localized = true;
6270
1.87M
        }
6271
0
        else {
6272
0
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
6273
0
        }
6274
1.87M
    }
6275
6276
    constexpr void on_width(int width)
6277
47.1k
    {
6278
47.1k
        if (m_specs.precision != 0 && width > m_specs.precision) {
6279
            // clang-format off
6280
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
6281
            // clang-format on
6282
0
        }
6283
6284
47.1k
        m_specs.width = width;
6285
47.1k
    }
6286
    constexpr void on_precision(int prec)
6287
8.13k
    {
6288
8.13k
        if (m_specs.width > prec) {
6289
            // clang-format off
6290
118
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
6291
            // clang-format on
6292
118
        }
6293
6294
8.01k
        m_specs.precision = prec;
6295
8.01k
    }
6296
6297
    constexpr void on_type(presentation_type type)
6298
33.3M
    {
6299
33.3M
        m_specs.type = type;
6300
33.3M
    }
6301
6302
    constexpr void on_charset_single(char32_t cp)
6303
1.80M
    {
6304
1.80M
        const auto cp_value = static_cast<unsigned>(cp);
6305
1.80M
        if (SCN_LIKELY(cp_value <= 127)) {
6306
1.58M
            m_specs.charset_literals[cp_value / 8] |=
6307
1.58M
                static_cast<unsigned char>(1ul << (cp_value % 8));
6308
1.58M
        }
6309
216k
        else {
6310
216k
            m_specs.charset_has_nonascii = true;
6311
216k
        }
6312
1.80M
    }
6313
6314
    constexpr void on_charset_range(char32_t begin, char32_t end)
6315
43.8k
    {
6316
43.8k
        const auto begin_value = static_cast<unsigned>(begin);
6317
43.8k
        const auto end_value = static_cast<unsigned>(end);
6318
43.8k
        SCN_EXPECT(begin_value < end_value);
6319
6320
43.8k
        if (SCN_LIKELY(end_value <= 127)) {
6321
            // No need to bit-twiddle with a mask, because with the
6322
            // SCN_ASSUME, -O3 will optimize this to a single operation
6323
39.3k
            SCN_ASSUME(begin_value < end_value);
6324
1.24M
            for (auto v = begin_value; v != end_value; ++v) {
6325
1.20M
                m_specs.charset_literals[v / 8] |=
6326
1.20M
                    static_cast<unsigned char>(1ul << (v % 8));
6327
1.20M
            }
6328
39.3k
        }
6329
4.51k
        else {
6330
4.51k
            m_specs.charset_has_nonascii = true;
6331
4.51k
        }
6332
43.8k
    }
6333
6334
    constexpr void on_charset_inverted()
6335
2.22k
    {
6336
2.22k
        m_specs.charset_is_inverted = true;
6337
2.22k
    }
6338
6339
    template <typename CharT>
6340
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
6341
27.9k
    {
6342
27.9k
        m_specs.charset_string_data = fmt.data();
6343
27.9k
        m_specs.charset_string_size = fmt.size();
6344
27.9k
        on_type(presentation_type::string_set);
6345
27.9k
    }
void scn::v3::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6341
17.9k
    {
6342
17.9k
        m_specs.charset_string_data = fmt.data();
6343
17.9k
        m_specs.charset_string_size = fmt.size();
6344
17.9k
        on_type(presentation_type::string_set);
6345
17.9k
    }
void scn::v3::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6341
9.95k
    {
6342
9.95k
        m_specs.charset_string_data = fmt.data();
6343
9.95k
        m_specs.charset_string_size = fmt.size();
6344
9.95k
        on_type(presentation_type::string_set);
6345
9.95k
    }
6346
6347
    template <typename CharT>
6348
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
6349
43.5k
    {
6350
43.5k
        m_specs.charset_string_data = pattern.data();
6351
43.5k
        m_specs.charset_string_size = pattern.size();
6352
43.5k
    }
void scn::v3::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6349
33.2k
    {
6350
33.2k
        m_specs.charset_string_data = pattern.data();
6351
33.2k
        m_specs.charset_string_size = pattern.size();
6352
33.2k
    }
void scn::v3::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6349
10.3k
    {
6350
10.3k
        m_specs.charset_string_data = pattern.data();
6351
10.3k
        m_specs.charset_string_size = pattern.size();
6352
10.3k
    }
6353
    constexpr void on_regex_flags(regex_flags flags)
6354
42.9k
    {
6355
42.9k
        m_specs.regexp_flags = flags;
6356
42.9k
    }
6357
6358
    // Intentionally not constexpr
6359
    void on_error(const char* msg)
6360
320k
    {
6361
320k
        SCN_UNLIKELY_ATTR
6362
320k
        m_error = scan_error{scan_error::invalid_format_string, msg};
6363
320k
    }
6364
    void on_error(scan_error err)
6365
0
    {
6366
0
        SCN_LIKELY(err);
6367
0
        m_error = err;
6368
0
    }
6369
6370
    constexpr explicit operator bool() const
6371
37.0M
    {
6372
37.0M
        return static_cast<bool>(m_error);
6373
37.0M
    }
6374
6375
    constexpr scan_error get_error() const
6376
0
    {
6377
0
        return m_error;
6378
0
    }
6379
6380
protected:
6381
    format_specs& m_specs;
6382
    scan_error m_error;
6383
};
6384
6385
template <typename CharT>
6386
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
6387
55.9k
{
6388
55.9k
    SCN_EXPECT(begin != end);
6389
55.9k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6390
6391
55.9k
    unsigned long long value = 0;
6392
114k
    do {
6393
114k
        value *= 10;
6394
114k
        value += static_cast<unsigned long long>(*begin - '0');
6395
114k
        if (value >
6396
114k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6397
116
            return -1;
6398
116
        }
6399
114k
        ++begin;
6400
114k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6401
55.8k
    return static_cast<int>(value);
6402
55.9k
}
int scn::v3::detail::parse_simple_int<char>(char const*&, char const*)
Line
Count
Source
6387
20.2k
{
6388
20.2k
    SCN_EXPECT(begin != end);
6389
20.2k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6390
6391
20.2k
    unsigned long long value = 0;
6392
58.5k
    do {
6393
58.5k
        value *= 10;
6394
58.5k
        value += static_cast<unsigned long long>(*begin - '0');
6395
58.5k
        if (value >
6396
58.5k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6397
116
            return -1;
6398
116
        }
6399
58.4k
        ++begin;
6400
58.4k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6401
20.1k
    return static_cast<int>(value);
6402
20.2k
}
int scn::v3::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
Line
Count
Source
6387
35.6k
{
6388
35.6k
    SCN_EXPECT(begin != end);
6389
35.6k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6390
6391
35.6k
    unsigned long long value = 0;
6392
56.2k
    do {
6393
56.2k
        value *= 10;
6394
56.2k
        value += static_cast<unsigned long long>(*begin - '0');
6395
56.2k
        if (value >
6396
56.2k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6397
0
            return -1;
6398
0
        }
6399
56.2k
        ++begin;
6400
56.2k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6401
35.6k
    return static_cast<int>(value);
6402
35.6k
}
6403
6404
template <typename CharT, typename IDHandler>
6405
constexpr const CharT* do_parse_arg_id(const CharT* begin,
6406
                                       const CharT* end,
6407
                                       IDHandler&& handler)
6408
26.4k
{
6409
26.4k
    SCN_EXPECT(begin != end);
6410
6411
26.4k
    CharT c = *begin;
6412
26.4k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6413
22.4k
        handler.on_error("Invalid argument ID");
6414
22.4k
        return begin;
6415
22.4k
    }
6416
6417
3.97k
    int idx = 0;
6418
3.97k
    if (c != CharT{'0'}) {
6419
616
        idx = parse_simple_int(begin, end);
6420
616
    }
6421
3.35k
    else {
6422
3.35k
        ++begin;
6423
3.35k
    }
6424
6425
3.97k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6426
422
        handler.on_error("Invalid argument ID");
6427
422
        return begin;
6428
422
    }
6429
3.54k
    handler(idx);
6430
6431
3.54k
    return begin;
6432
3.97k
}
impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
6408
25.6k
{
6409
25.6k
    SCN_EXPECT(begin != end);
6410
6411
25.6k
    CharT c = *begin;
6412
25.6k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6413
22.2k
        handler.on_error("Invalid argument ID");
6414
22.2k
        return begin;
6415
22.2k
    }
6416
6417
3.42k
    int idx = 0;
6418
3.42k
    if (c != CharT{'0'}) {
6419
330
        idx = parse_simple_int(begin, end);
6420
330
    }
6421
3.09k
    else {
6422
3.09k
        ++begin;
6423
3.09k
    }
6424
6425
3.42k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6426
188
        handler.on_error("Invalid argument ID");
6427
188
        return begin;
6428
188
    }
6429
3.23k
    handler(idx);
6430
6431
3.23k
    return begin;
6432
3.42k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
6408
762
{
6409
762
    SCN_EXPECT(begin != end);
6410
6411
762
    CharT c = *begin;
6412
762
    if (c < CharT{'0'} || c > CharT{'9'}) {
6413
218
        handler.on_error("Invalid argument ID");
6414
218
        return begin;
6415
218
    }
6416
6417
544
    int idx = 0;
6418
544
    if (c != CharT{'0'}) {
6419
286
        idx = parse_simple_int(begin, end);
6420
286
    }
6421
258
    else {
6422
258
        ++begin;
6423
258
    }
6424
6425
544
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6426
234
        handler.on_error("Invalid argument ID");
6427
234
        return begin;
6428
234
    }
6429
310
    handler(idx);
6430
6431
310
    return begin;
6432
544
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&)
6433
6434
template <typename CharT, typename IDHandler>
6435
constexpr const CharT* parse_arg_id(const CharT* begin,
6436
                                    const CharT* end,
6437
                                    IDHandler&& handler)
6438
35.5M
{
6439
35.5M
    SCN_EXPECT(begin != end);
6440
35.5M
    if (*begin != '}' && *begin != ':') {
6441
26.4k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6442
26.4k
    }
6443
6444
35.5M
    handler();
6445
35.5M
    return begin;
6446
35.5M
}
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
6438
3.73M
{
6439
3.73M
    SCN_EXPECT(begin != end);
6440
3.73M
    if (*begin != '}' && *begin != ':') {
6441
25.6k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6442
25.6k
    }
6443
6444
3.70M
    handler();
6445
3.70M
    return begin;
6446
3.73M
}
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
6438
3.65M
{
6439
3.65M
    SCN_EXPECT(begin != end);
6440
3.65M
    if (*begin != '}' && *begin != ':') {
6441
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6442
0
    }
6443
6444
3.65M
    handler();
6445
3.65M
    return begin;
6446
3.65M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
6438
18.5M
{
6439
18.5M
    SCN_EXPECT(begin != end);
6440
18.5M
    if (*begin != '}' && *begin != ':') {
6441
762
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6442
762
    }
6443
6444
18.5M
    handler();
6445
18.5M
    return begin;
6446
18.5M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
6438
9.59M
{
6439
9.59M
    SCN_EXPECT(begin != end);
6440
9.59M
    if (*begin != '}' && *begin != ':') {
6441
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6442
0
    }
6443
6444
9.59M
    handler();
6445
9.59M
    return begin;
6446
9.59M
}
6447
6448
template <typename CharT>
6449
constexpr presentation_type parse_presentation_type(CharT type)
6450
33.5M
{
6451
33.5M
    switch (type) {
6452
225k
        case 'b':
6453
365k
        case 'B':
6454
365k
            return presentation_type::int_binary;
6455
749k
        case 'd':
6456
749k
            return presentation_type::int_decimal;
6457
1.03M
        case 'i':
6458
1.03M
            return presentation_type::int_generic;
6459
122
        case 'u':
6460
122
            return presentation_type::int_unsigned_decimal;
6461
353k
        case 'o':
6462
353k
            return presentation_type::int_octal;
6463
845k
        case 'x':
6464
845k
        case 'X':
6465
845k
            return presentation_type::int_hex;
6466
68
        case 'r':
6467
138
        case 'R':
6468
138
            return presentation_type::int_arbitrary_base;
6469
1.25M
        case 'a':
6470
1.25M
        case 'A':
6471
1.25M
            return presentation_type::float_hex;
6472
146k
        case 'e':
6473
146k
        case 'E':
6474
146k
            return presentation_type::float_scientific;
6475
554k
        case 'f':
6476
555k
        case 'F':
6477
555k
            return presentation_type::float_fixed;
6478
961k
        case 'g':
6479
961k
        case 'G':
6480
961k
            return presentation_type::float_general;
6481
26.9M
        case 's':
6482
26.9M
            return presentation_type::string;
6483
15.3k
        case 'c':
6484
15.3k
            return presentation_type::character;
6485
70
        case '?':
6486
70
            return presentation_type::escaped_character;
6487
130
        case 'p':
6488
130
            return presentation_type::pointer;
6489
0
        case '[':
6490
0
        case '/':
6491
            // Should be handled by parse_presentation_set and
6492
            // parse_presentation_regex
6493
0
            SCN_EXPECT(false);
6494
0
            SCN_UNREACHABLE;
6495
295k
        default:
6496
295k
            return presentation_type::none;
6497
33.5M
    }
6498
33.5M
}
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<char>(char)
Line
Count
Source
6450
5.62M
{
6451
5.62M
    switch (type) {
6452
131k
        case 'b':
6453
177k
        case 'B':
6454
177k
            return presentation_type::int_binary;
6455
654k
        case 'd':
6456
654k
            return presentation_type::int_decimal;
6457
943k
        case 'i':
6458
943k
            return presentation_type::int_generic;
6459
70
        case 'u':
6460
70
            return presentation_type::int_unsigned_decimal;
6461
258k
        case 'o':
6462
258k
            return presentation_type::int_octal;
6463
750k
        case 'x':
6464
750k
        case 'X':
6465
750k
            return presentation_type::int_hex;
6466
34
        case 'r':
6467
68
        case 'R':
6468
68
            return presentation_type::int_arbitrary_base;
6469
1.15M
        case 'a':
6470
1.15M
        case 'A':
6471
1.15M
            return presentation_type::float_hex;
6472
69.2k
        case 'e':
6473
69.2k
        case 'E':
6474
69.2k
            return presentation_type::float_scientific;
6475
455k
        case 'f':
6476
455k
        case 'F':
6477
455k
            return presentation_type::float_fixed;
6478
861k
        case 'g':
6479
862k
        case 'G':
6480
862k
            return presentation_type::float_general;
6481
195k
        case 's':
6482
195k
            return presentation_type::string;
6483
5.27k
        case 'c':
6484
5.27k
            return presentation_type::character;
6485
34
        case '?':
6486
34
            return presentation_type::escaped_character;
6487
78
        case 'p':
6488
78
            return presentation_type::pointer;
6489
0
        case '[':
6490
0
        case '/':
6491
            // Should be handled by parse_presentation_set and
6492
            // parse_presentation_regex
6493
0
            SCN_EXPECT(false);
6494
0
            SCN_UNREACHABLE;
6495
98.8k
        default:
6496
98.8k
            return presentation_type::none;
6497
5.62M
    }
6498
5.62M
}
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
6450
27.9M
{
6451
27.9M
    switch (type) {
6452
94.0k
        case 'b':
6453
187k
        case 'B':
6454
187k
            return presentation_type::int_binary;
6455
94.7k
        case 'd':
6456
94.7k
            return presentation_type::int_decimal;
6457
94.7k
        case 'i':
6458
94.7k
            return presentation_type::int_generic;
6459
52
        case 'u':
6460
52
            return presentation_type::int_unsigned_decimal;
6461
94.3k
        case 'o':
6462
94.3k
            return presentation_type::int_octal;
6463
94.7k
        case 'x':
6464
94.8k
        case 'X':
6465
94.8k
            return presentation_type::int_hex;
6466
34
        case 'r':
6467
70
        case 'R':
6468
70
            return presentation_type::int_arbitrary_base;
6469
100k
        case 'a':
6470
100k
        case 'A':
6471
100k
            return presentation_type::float_hex;
6472
77.6k
        case 'e':
6473
77.6k
        case 'E':
6474
77.6k
            return presentation_type::float_scientific;
6475
99.5k
        case 'f':
6476
99.6k
        case 'F':
6477
99.6k
            return presentation_type::float_fixed;
6478
99.4k
        case 'g':
6479
99.4k
        case 'G':
6480
99.4k
            return presentation_type::float_general;
6481
26.7M
        case 's':
6482
26.7M
            return presentation_type::string;
6483
10.0k
        case 'c':
6484
10.0k
            return presentation_type::character;
6485
36
        case '?':
6486
36
            return presentation_type::escaped_character;
6487
52
        case 'p':
6488
52
            return presentation_type::pointer;
6489
0
        case '[':
6490
0
        case '/':
6491
            // Should be handled by parse_presentation_set and
6492
            // parse_presentation_regex
6493
0
            SCN_EXPECT(false);
6494
0
            SCN_UNREACHABLE;
6495
196k
        default:
6496
196k
            return presentation_type::none;
6497
27.9M
    }
6498
27.9M
}
6499
6500
template <typename CharT>
6501
constexpr bool is_ascii_letter(CharT ch)
6502
35.1M
{
6503
35.1M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6504
35.1M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6505
35.1M
}
bool scn::v3::detail::is_ascii_letter<char>(char)
Line
Count
Source
6502
7.20M
{
6503
7.20M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6504
7.20M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6505
7.20M
}
bool scn::v3::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
6502
27.9M
{
6503
27.9M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6504
27.9M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6505
27.9M
}
6506
6507
template <typename CharT>
6508
constexpr int code_point_length(const CharT* begin, const CharT* end)
6509
2.42M
{
6510
2.42M
    SCN_EXPECT(begin != end);
6511
2.42M
    if constexpr (sizeof(CharT) != 1) {
6512
1.89M
        return 1;
6513
1.89M
    }
6514
1.89M
    else {
6515
1.89M
        const auto lengths =
6516
1.89M
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6517
1.89M
            "\3\4";
6518
1.89M
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6519
1.89M
        return len;
6520
1.89M
    }
6521
2.42M
}
int scn::v3::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
6509
1.89M
{
6510
1.89M
    SCN_EXPECT(begin != end);
6511
1.89M
    if constexpr (sizeof(CharT) != 1) {
6512
1.89M
        return 1;
6513
1.89M
    }
6514
1.89M
    else {
6515
1.89M
        const auto lengths =
6516
1.89M
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6517
1.89M
            "\3\4";
6518
1.89M
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6519
1.89M
        return len;
6520
1.89M
    }
6521
1.89M
}
int scn::v3::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
6509
531k
{
6510
531k
    SCN_EXPECT(begin != end);
6511
531k
    if constexpr (sizeof(CharT) != 1) {
6512
531k
        return 1;
6513
531k
    }
6514
531k
    else {
6515
531k
        const auto lengths =
6516
531k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6517
531k
            "\3\4";
6518
531k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6519
531k
        return len;
6520
531k
    }
6521
531k
}
6522
6523
template <typename CharT, typename Handler>
6524
constexpr const CharT* parse_align(const CharT* begin,
6525
                                   const CharT* end,
6526
                                   Handler&& handler)
6527
2.42M
{
6528
2.42M
    SCN_EXPECT(begin != end);
6529
6530
4.85M
    auto check_align = [](wchar_t ch) {
6531
4.85M
        switch (ch) {
6532
1.49k
            case L'<':
6533
1.49k
                return align_type::left;
6534
1.52k
            case L'>':
6535
1.52k
                return align_type::right;
6536
7.66k
            case L'^':
6537
7.66k
                return align_type::center;
6538
4.84M
            default:
6539
4.84M
                return align_type::none;
6540
4.85M
        }
6541
4.85M
    };
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6530
1.93M
    auto check_align = [](wchar_t ch) {
6531
1.93M
        switch (ch) {
6532
1.08k
            case L'<':
6533
1.08k
                return align_type::left;
6534
1.31k
            case L'>':
6535
1.31k
                return align_type::right;
6536
7.00k
            case L'^':
6537
7.00k
                return align_type::center;
6538
1.92M
            default:
6539
1.92M
                return align_type::none;
6540
1.93M
        }
6541
1.93M
    };
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6530
1.85M
    auto check_align = [](wchar_t ch) {
6531
1.85M
        switch (ch) {
6532
0
            case L'<':
6533
0
                return align_type::left;
6534
0
            case L'>':
6535
0
                return align_type::right;
6536
0
            case L'^':
6537
0
                return align_type::center;
6538
1.85M
            default:
6539
1.85M
                return align_type::none;
6540
1.85M
        }
6541
1.85M
    };
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6530
561k
    auto check_align = [](wchar_t ch) {
6531
561k
        switch (ch) {
6532
406
            case L'<':
6533
406
                return align_type::left;
6534
202
            case L'>':
6535
202
                return align_type::right;
6536
666
            case L'^':
6537
666
                return align_type::center;
6538
560k
            default:
6539
560k
                return align_type::none;
6540
561k
        }
6541
561k
    };
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6530
500k
    auto check_align = [](wchar_t ch) {
6531
500k
        switch (ch) {
6532
0
            case L'<':
6533
0
                return align_type::left;
6534
0
            case L'>':
6535
0
                return align_type::right;
6536
0
            case L'^':
6537
0
                return align_type::center;
6538
500k
            default:
6539
500k
                return align_type::none;
6540
500k
        }
6541
500k
    };
6542
6543
2.42M
    auto potential_fill_len = code_point_length(begin, end);
6544
2.42M
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6545
2.42M
                     std::distance(begin, end) < potential_fill_len)) {
6546
42
        handler.on_error("Invalid encoding in fill character");
6547
42
        return begin;
6548
42
    }
6549
6550
2.42M
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6551
6552
2.42M
    auto potential_fill = std::basic_string_view<CharT>{
6553
2.42M
        begin, static_cast<size_t>(potential_fill_len)};
6554
2.42M
    const auto begin_before_fill = begin;
6555
2.42M
    begin += potential_fill_len;
6556
6557
2.42M
    if (begin == end) {
6558
2.05k
        return begin_before_fill;
6559
2.05k
    }
6560
6561
2.42M
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6562
2.42M
    const auto begin_after_fill = begin;
6563
2.42M
    ++begin;
6564
6565
2.42M
    if (potential_fill_len == 1) {
6566
2.42M
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6567
104
            handler.on_error("Invalid fill character '{' in format string");
6568
104
            return begin;
6569
104
        }
6570
2.42M
        if (potential_fill[0] == '[') {
6571
26.7k
            return begin_before_fill;
6572
26.7k
        }
6573
2.42M
    }
6574
6575
2.39M
    if (potential_align_after_fill == align_type::none) {
6576
2.39M
        if (potential_align_on_fill != align_type::none) {
6577
3.85k
            handler.on_align(potential_align_on_fill);
6578
3.85k
            return begin_after_fill;
6579
3.85k
        }
6580
2.39M
        return begin_before_fill;
6581
2.39M
    }
6582
6583
5.33k
    handler.on_fill(potential_fill);
6584
5.33k
    handler.on_align(potential_align_after_fill);
6585
5.33k
    return begin;
6586
2.39M
}
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6527
967k
{
6528
967k
    SCN_EXPECT(begin != end);
6529
6530
967k
    auto check_align = [](wchar_t ch) {
6531
967k
        switch (ch) {
6532
967k
            case L'<':
6533
967k
                return align_type::left;
6534
967k
            case L'>':
6535
967k
                return align_type::right;
6536
967k
            case L'^':
6537
967k
                return align_type::center;
6538
967k
            default:
6539
967k
                return align_type::none;
6540
967k
        }
6541
967k
    };
6542
6543
967k
    auto potential_fill_len = code_point_length(begin, end);
6544
967k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6545
967k
                     std::distance(begin, end) < potential_fill_len)) {
6546
42
        handler.on_error("Invalid encoding in fill character");
6547
42
        return begin;
6548
42
    }
6549
6550
967k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6551
6552
967k
    auto potential_fill = std::basic_string_view<CharT>{
6553
967k
        begin, static_cast<size_t>(potential_fill_len)};
6554
967k
    const auto begin_before_fill = begin;
6555
967k
    begin += potential_fill_len;
6556
6557
967k
    if (begin == end) {
6558
1.07k
        return begin_before_fill;
6559
1.07k
    }
6560
6561
966k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6562
966k
    const auto begin_after_fill = begin;
6563
966k
    ++begin;
6564
6565
966k
    if (potential_fill_len == 1) {
6566
966k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6567
54
            handler.on_error("Invalid fill character '{' in format string");
6568
54
            return begin;
6569
54
        }
6570
966k
        if (potential_fill[0] == '[') {
6571
13.7k
            return begin_before_fill;
6572
13.7k
        }
6573
966k
    }
6574
6575
953k
    if (potential_align_after_fill == align_type::none) {
6576
948k
        if (potential_align_on_fill != align_type::none) {
6577
3.22k
            handler.on_align(potential_align_on_fill);
6578
3.22k
            return begin_after_fill;
6579
3.22k
        }
6580
944k
        return begin_before_fill;
6581
948k
    }
6582
6583
4.92k
    handler.on_fill(potential_fill);
6584
4.92k
    handler.on_align(potential_align_after_fill);
6585
4.92k
    return begin;
6586
953k
}
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6527
929k
{
6528
929k
    SCN_EXPECT(begin != end);
6529
6530
929k
    auto check_align = [](wchar_t ch) {
6531
929k
        switch (ch) {
6532
929k
            case L'<':
6533
929k
                return align_type::left;
6534
929k
            case L'>':
6535
929k
                return align_type::right;
6536
929k
            case L'^':
6537
929k
                return align_type::center;
6538
929k
            default:
6539
929k
                return align_type::none;
6540
929k
        }
6541
929k
    };
6542
6543
929k
    auto potential_fill_len = code_point_length(begin, end);
6544
929k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6545
929k
                     std::distance(begin, end) < potential_fill_len)) {
6546
0
        handler.on_error("Invalid encoding in fill character");
6547
0
        return begin;
6548
0
    }
6549
6550
929k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6551
6552
929k
    auto potential_fill = std::basic_string_view<CharT>{
6553
929k
        begin, static_cast<size_t>(potential_fill_len)};
6554
929k
    const auto begin_before_fill = begin;
6555
929k
    begin += potential_fill_len;
6556
6557
929k
    if (begin == end) {
6558
0
        return begin_before_fill;
6559
0
    }
6560
6561
929k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6562
929k
    const auto begin_after_fill = begin;
6563
929k
    ++begin;
6564
6565
929k
    if (potential_fill_len == 1) {
6566
929k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6567
0
            handler.on_error("Invalid fill character '{' in format string");
6568
0
            return begin;
6569
0
        }
6570
929k
        if (potential_fill[0] == '[') {
6571
2.49k
            return begin_before_fill;
6572
2.49k
        }
6573
929k
    }
6574
6575
926k
    if (potential_align_after_fill == align_type::none) {
6576
926k
        if (potential_align_on_fill != align_type::none) {
6577
0
            handler.on_align(potential_align_on_fill);
6578
0
            return begin_after_fill;
6579
0
        }
6580
926k
        return begin_before_fill;
6581
926k
    }
6582
6583
0
    handler.on_fill(potential_fill);
6584
0
    handler.on_align(potential_align_after_fill);
6585
0
    return begin;
6586
926k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6527
281k
{
6528
281k
    SCN_EXPECT(begin != end);
6529
6530
281k
    auto check_align = [](wchar_t ch) {
6531
281k
        switch (ch) {
6532
281k
            case L'<':
6533
281k
                return align_type::left;
6534
281k
            case L'>':
6535
281k
                return align_type::right;
6536
281k
            case L'^':
6537
281k
                return align_type::center;
6538
281k
            default:
6539
281k
                return align_type::none;
6540
281k
        }
6541
281k
    };
6542
6543
281k
    auto potential_fill_len = code_point_length(begin, end);
6544
281k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6545
281k
                     std::distance(begin, end) < potential_fill_len)) {
6546
0
        handler.on_error("Invalid encoding in fill character");
6547
0
        return begin;
6548
0
    }
6549
6550
281k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6551
6552
281k
    auto potential_fill = std::basic_string_view<CharT>{
6553
281k
        begin, static_cast<size_t>(potential_fill_len)};
6554
281k
    const auto begin_before_fill = begin;
6555
281k
    begin += potential_fill_len;
6556
6557
281k
    if (begin == end) {
6558
976
        return begin_before_fill;
6559
976
    }
6560
6561
280k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6562
280k
    const auto begin_after_fill = begin;
6563
280k
    ++begin;
6564
6565
280k
    if (potential_fill_len == 1) {
6566
280k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6567
50
            handler.on_error("Invalid fill character '{' in format string");
6568
50
            return begin;
6569
50
        }
6570
280k
        if (potential_fill[0] == '[') {
6571
7.16k
            return begin_before_fill;
6572
7.16k
        }
6573
280k
    }
6574
6575
273k
    if (potential_align_after_fill == align_type::none) {
6576
272k
        if (potential_align_on_fill != align_type::none) {
6577
632
            handler.on_align(potential_align_on_fill);
6578
632
            return begin_after_fill;
6579
632
        }
6580
272k
        return begin_before_fill;
6581
272k
    }
6582
6583
414
    handler.on_fill(potential_fill);
6584
414
    handler.on_align(potential_align_after_fill);
6585
414
    return begin;
6586
273k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6527
250k
{
6528
250k
    SCN_EXPECT(begin != end);
6529
6530
250k
    auto check_align = [](wchar_t ch) {
6531
250k
        switch (ch) {
6532
250k
            case L'<':
6533
250k
                return align_type::left;
6534
250k
            case L'>':
6535
250k
                return align_type::right;
6536
250k
            case L'^':
6537
250k
                return align_type::center;
6538
250k
            default:
6539
250k
                return align_type::none;
6540
250k
        }
6541
250k
    };
6542
6543
250k
    auto potential_fill_len = code_point_length(begin, end);
6544
250k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6545
250k
                     std::distance(begin, end) < potential_fill_len)) {
6546
0
        handler.on_error("Invalid encoding in fill character");
6547
0
        return begin;
6548
0
    }
6549
6550
250k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6551
6552
250k
    auto potential_fill = std::basic_string_view<CharT>{
6553
250k
        begin, static_cast<size_t>(potential_fill_len)};
6554
250k
    const auto begin_before_fill = begin;
6555
250k
    begin += potential_fill_len;
6556
6557
250k
    if (begin == end) {
6558
0
        return begin_before_fill;
6559
0
    }
6560
6561
250k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6562
250k
    const auto begin_after_fill = begin;
6563
250k
    ++begin;
6564
6565
250k
    if (potential_fill_len == 1) {
6566
250k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6567
0
            handler.on_error("Invalid fill character '{' in format string");
6568
0
            return begin;
6569
0
        }
6570
250k
        if (potential_fill[0] == '[') {
6571
3.29k
            return begin_before_fill;
6572
3.29k
        }
6573
250k
    }
6574
6575
246k
    if (potential_align_after_fill == align_type::none) {
6576
246k
        if (potential_align_on_fill != align_type::none) {
6577
0
            handler.on_align(potential_align_on_fill);
6578
0
            return begin_after_fill;
6579
0
        }
6580
246k
        return begin_before_fill;
6581
246k
    }
6582
6583
0
    handler.on_fill(potential_fill);
6584
0
    handler.on_align(potential_align_after_fill);
6585
0
    return begin;
6586
246k
}
6587
6588
template <typename CharT, typename Handler>
6589
constexpr const CharT* parse_width(const CharT* begin,
6590
                                   const CharT* end,
6591
                                   Handler&& handler)
6592
2.42M
{
6593
2.42M
    SCN_EXPECT(begin != end);
6594
6595
2.42M
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6596
47.1k
        int width = parse_simple_int(begin, end);
6597
47.1k
        if (SCN_LIKELY(width != -1)) {
6598
47.1k
            handler.on_width(width);
6599
47.1k
        }
6600
34
        else {
6601
34
            handler.on_error("Invalid field width");
6602
34
            return begin;
6603
34
        }
6604
47.1k
    }
6605
2.42M
    return begin;
6606
2.42M
}
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6592
967k
{
6593
967k
    SCN_EXPECT(begin != end);
6594
6595
967k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6596
10.3k
        int width = parse_simple_int(begin, end);
6597
10.3k
        if (SCN_LIKELY(width != -1)) {
6598
10.3k
            handler.on_width(width);
6599
10.3k
        }
6600
34
        else {
6601
34
            handler.on_error("Invalid field width");
6602
34
            return begin;
6603
34
        }
6604
10.3k
    }
6605
967k
    return begin;
6606
967k
}
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6592
929k
{
6593
929k
    SCN_EXPECT(begin != end);
6594
6595
929k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6596
3.25k
        int width = parse_simple_int(begin, end);
6597
3.25k
        if (SCN_LIKELY(width != -1)) {
6598
3.25k
            handler.on_width(width);
6599
3.25k
        }
6600
0
        else {
6601
0
            handler.on_error("Invalid field width");
6602
0
            return begin;
6603
0
        }
6604
3.25k
    }
6605
929k
    return begin;
6606
929k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6592
281k
{
6593
281k
    SCN_EXPECT(begin != end);
6594
6595
281k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6596
27.0k
        int width = parse_simple_int(begin, end);
6597
27.0k
        if (SCN_LIKELY(width != -1)) {
6598
27.0k
            handler.on_width(width);
6599
27.0k
        }
6600
0
        else {
6601
0
            handler.on_error("Invalid field width");
6602
0
            return begin;
6603
0
        }
6604
27.0k
    }
6605
281k
    return begin;
6606
281k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6592
250k
{
6593
250k
    SCN_EXPECT(begin != end);
6594
6595
250k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6596
6.50k
        int width = parse_simple_int(begin, end);
6597
6.50k
        if (SCN_LIKELY(width != -1)) {
6598
6.50k
            handler.on_width(width);
6599
6.50k
        }
6600
0
        else {
6601
0
            handler.on_error("Invalid field width");
6602
0
            return begin;
6603
0
        }
6604
6.50k
    }
6605
250k
    return begin;
6606
250k
}
6607
6608
template <typename CharT, typename Handler>
6609
constexpr const CharT* parse_precision(const CharT* begin,
6610
                                       const CharT* end,
6611
                                       Handler&& handler)
6612
8.38k
{
6613
8.38k
    SCN_EXPECT(begin != end);
6614
6615
8.38k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6616
8.18k
        int prec = parse_simple_int(begin, end);
6617
8.18k
        if (SCN_LIKELY(prec != -1)) {
6618
8.13k
            handler.on_precision(prec);
6619
8.13k
        }
6620
48
        else {
6621
48
            handler.on_error("Invalid field precision");
6622
48
            return begin;
6623
48
        }
6624
8.18k
    }
6625
8.33k
    return begin;
6626
8.38k
}
impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6612
6.44k
{
6613
6.44k
    SCN_EXPECT(begin != end);
6614
6615
6.44k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6616
6.33k
        int prec = parse_simple_int(begin, end);
6617
6.33k
        if (SCN_LIKELY(prec != -1)) {
6618
6.28k
            handler.on_precision(prec);
6619
6.28k
        }
6620
48
        else {
6621
48
            handler.on_error("Invalid field precision");
6622
48
            return begin;
6623
48
        }
6624
6.33k
    }
6625
6.39k
    return begin;
6626
6.44k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6612
1.94k
{
6613
1.94k
    SCN_EXPECT(begin != end);
6614
6615
1.94k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6616
1.84k
        int prec = parse_simple_int(begin, end);
6617
1.84k
        if (SCN_LIKELY(prec != -1)) {
6618
1.84k
            handler.on_precision(prec);
6619
1.84k
        }
6620
0
        else {
6621
0
            handler.on_error("Invalid field precision");
6622
0
            return begin;
6623
0
        }
6624
1.84k
    }
6625
1.94k
    return begin;
6626
1.94k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
6627
6628
template <typename CharT, typename SpecHandler>
6629
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
6630
                                                     const CharT* end,
6631
                                                     SpecHandler&& handler)
6632
2.49M
{
6633
2.49M
    SCN_EXPECT(begin != end);
6634
6635
2.49M
    auto len = code_point_length_by_starting_code_unit(*begin);
6636
2.49M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6637
116
        handler.on_error("Invalid encoding in format string");
6638
116
        return invalid_code_point;
6639
116
    }
6640
6641
2.49M
    const auto cp =
6642
2.49M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6643
2.49M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6644
258
        handler.on_error("Invalid encoding in format string");
6645
258
        return invalid_code_point;
6646
258
    }
6647
6648
2.49M
    begin += len;
6649
2.49M
    return cp;
6650
2.49M
}
char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6632
604k
{
6633
604k
    SCN_EXPECT(begin != end);
6634
6635
604k
    auto len = code_point_length_by_starting_code_unit(*begin);
6636
604k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6637
0
        handler.on_error("Invalid encoding in format string");
6638
0
        return invalid_code_point;
6639
0
    }
6640
6641
604k
    const auto cp =
6642
604k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6643
604k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6644
0
        handler.on_error("Invalid encoding in format string");
6645
0
        return invalid_code_point;
6646
0
    }
6647
6648
604k
    begin += len;
6649
604k
    return cp;
6650
604k
}
Unexecuted instantiation: char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6632
1.84M
{
6633
1.84M
    SCN_EXPECT(begin != end);
6634
6635
1.84M
    auto len = code_point_length_by_starting_code_unit(*begin);
6636
1.84M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6637
116
        handler.on_error("Invalid encoding in format string");
6638
116
        return invalid_code_point;
6639
116
    }
6640
6641
1.84M
    const auto cp =
6642
1.84M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6643
1.84M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6644
68
        handler.on_error("Invalid encoding in format string");
6645
68
        return invalid_code_point;
6646
68
    }
6647
6648
1.84M
    begin += len;
6649
1.84M
    return cp;
6650
1.84M
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6632
9.98k
{
6633
9.98k
    SCN_EXPECT(begin != end);
6634
6635
9.98k
    auto len = code_point_length_by_starting_code_unit(*begin);
6636
9.98k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6637
0
        handler.on_error("Invalid encoding in format string");
6638
0
        return invalid_code_point;
6639
0
    }
6640
6641
9.98k
    const auto cp =
6642
9.98k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6643
9.98k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6644
0
        handler.on_error("Invalid encoding in format string");
6645
0
        return invalid_code_point;
6646
0
    }
6647
6648
9.98k
    begin += len;
6649
9.98k
    return cp;
6650
9.98k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6632
28.1k
{
6633
28.1k
    SCN_EXPECT(begin != end);
6634
6635
28.1k
    auto len = code_point_length_by_starting_code_unit(*begin);
6636
28.1k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6637
0
        handler.on_error("Invalid encoding in format string");
6638
0
        return invalid_code_point;
6639
0
    }
6640
6641
28.1k
    const auto cp =
6642
28.1k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6643
28.1k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6644
190
        handler.on_error("Invalid encoding in format string");
6645
190
        return invalid_code_point;
6646
190
    }
6647
6648
27.9k
    begin += len;
6649
27.9k
    return cp;
6650
28.1k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6632
13.1k
{
6633
13.1k
    SCN_EXPECT(begin != end);
6634
6635
13.1k
    auto len = code_point_length_by_starting_code_unit(*begin);
6636
13.1k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6637
0
        handler.on_error("Invalid encoding in format string");
6638
0
        return invalid_code_point;
6639
0
    }
6640
6641
13.1k
    const auto cp =
6642
13.1k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6643
13.1k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6644
0
        handler.on_error("Invalid encoding in format string");
6645
0
        return invalid_code_point;
6646
0
    }
6647
6648
13.1k
    begin += len;
6649
13.1k
    return cp;
6650
13.1k
}
6651
6652
template <typename CharT, typename SpecHandler>
6653
constexpr void parse_presentation_set_literal(const CharT*& begin,
6654
                                              const CharT* end,
6655
                                              SpecHandler&& handler)
6656
2.44M
{
6657
2.44M
    SCN_EXPECT(begin != end);
6658
6659
2.44M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6660
2.44M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6661
274
        return;
6662
274
    }
6663
6664
2.44M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6665
2.44M
        *(begin + 1) != CharT{']'}) {
6666
46.7k
        ++begin;
6667
6668
46.7k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6669
46.7k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6670
100
            return;
6671
100
        }
6672
6673
46.6k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6674
            // clang-format off
6675
62
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6676
            // clang-format on
6677
62
            return;
6678
62
        }
6679
6680
46.5k
        handler.on_charset_range(cp_first, cp_second + 1);
6681
46.5k
        return;
6682
46.6k
    }
6683
6684
2.40M
    handler.on_charset_single(cp_first);
6685
2.40M
}
void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6656
601k
{
6657
601k
    SCN_EXPECT(begin != end);
6658
6659
601k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6660
601k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6661
0
        return;
6662
0
    }
6663
6664
601k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6665
601k
        *(begin + 1) != CharT{']'}) {
6666
2.73k
        ++begin;
6667
6668
2.73k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6669
2.73k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6670
0
            return;
6671
0
        }
6672
6673
2.73k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6674
            // clang-format off
6675
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6676
            // clang-format on
6677
0
            return;
6678
0
        }
6679
6680
2.73k
        handler.on_charset_range(cp_first, cp_second + 1);
6681
2.73k
        return;
6682
2.73k
    }
6683
6684
598k
    handler.on_charset_single(cp_first);
6685
598k
}
Unexecuted instantiation: void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6656
1.82M
{
6657
1.82M
    SCN_EXPECT(begin != end);
6658
6659
1.82M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6660
1.82M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6661
114
        return;
6662
114
    }
6663
6664
1.82M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6665
1.82M
        *(begin + 1) != CharT{']'}) {
6666
19.0k
        ++begin;
6667
6668
19.0k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6669
19.0k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6670
70
            return;
6671
70
        }
6672
6673
18.9k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6674
            // clang-format off
6675
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6676
            // clang-format on
6677
34
            return;
6678
34
        }
6679
6680
18.8k
        handler.on_charset_range(cp_first, cp_second + 1);
6681
18.8k
        return;
6682
18.9k
    }
6683
6684
1.80M
    handler.on_charset_single(cp_first);
6685
1.80M
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6656
4.99k
{
6657
4.99k
    SCN_EXPECT(begin != end);
6658
6659
4.99k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6660
4.99k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6661
0
        return;
6662
0
    }
6663
6664
4.99k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6665
4.99k
        *(begin + 1) != CharT{']'}) {
6666
4.99k
        ++begin;
6667
6668
4.99k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6669
4.99k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6670
0
            return;
6671
0
        }
6672
6673
4.99k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6674
            // clang-format off
6675
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6676
            // clang-format on
6677
0
            return;
6678
0
        }
6679
6680
4.99k
        handler.on_charset_range(cp_first, cp_second + 1);
6681
4.99k
        return;
6682
4.99k
    }
6683
6684
0
    handler.on_charset_single(cp_first);
6685
0
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6656
14.7k
{
6657
14.7k
    SCN_EXPECT(begin != end);
6658
6659
14.7k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6660
14.7k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6661
160
        return;
6662
160
    }
6663
6664
14.5k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6665
14.5k
        *(begin + 1) != CharT{']'}) {
6666
13.4k
        ++begin;
6667
6668
13.4k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6669
13.4k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6670
30
            return;
6671
30
        }
6672
6673
13.4k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6674
            // clang-format off
6675
28
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6676
            // clang-format on
6677
28
            return;
6678
28
        }
6679
6680
13.3k
        handler.on_charset_range(cp_first, cp_second + 1);
6681
13.3k
        return;
6682
13.4k
    }
6683
6684
1.14k
    handler.on_charset_single(cp_first);
6685
1.14k
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6656
6.58k
{
6657
6.58k
    SCN_EXPECT(begin != end);
6658
6659
6.58k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6660
6.58k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6661
0
        return;
6662
0
    }
6663
6664
6.58k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6665
6.58k
        *(begin + 1) != CharT{']'}) {
6666
6.58k
        ++begin;
6667
6668
6.58k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6669
6.58k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6670
0
            return;
6671
0
        }
6672
6673
6.58k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6674
            // clang-format off
6675
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6676
            // clang-format on
6677
0
            return;
6678
0
        }
6679
6680
6.58k
        handler.on_charset_range(cp_first, cp_second + 1);
6681
6.58k
        return;
6682
6.58k
    }
6683
6684
0
    handler.on_charset_single(cp_first);
6685
0
}
6686
6687
template <typename CharT, typename SpecHandler>
6688
constexpr std::basic_string_view<CharT> parse_presentation_set(
6689
    const CharT*& begin,
6690
    const CharT* end,
6691
    SpecHandler&& handler)
6692
32.1k
{
6693
32.1k
    SCN_EXPECT(begin != end);
6694
32.1k
    SCN_EXPECT(*begin == CharT{'['});
6695
6696
32.1k
    auto start = begin;
6697
32.1k
    ++begin;
6698
6699
32.1k
    if (SCN_UNLIKELY(begin == end)) {
6700
        // clang-format off
6701
76
        handler.on_error("Unexpected end of [character set] specifier in format string");
6702
        // clang-format on
6703
76
        return {};
6704
76
    }
6705
32.1k
    if (*begin == CharT{'^'}) {
6706
2.57k
        handler.on_charset_inverted();
6707
2.57k
        ++begin;
6708
2.57k
        if (SCN_UNLIKELY(begin == end)) {
6709
            // clang-format off
6710
68
            handler.on_error("Unexpected end of [character set] specifier in format string");
6711
            // clang-format on
6712
68
            return {};
6713
68
        }
6714
2.50k
        if (*begin == CharT{']'}) {
6715
88
            handler.on_charset_single(char32_t{']'});
6716
88
            ++begin;
6717
88
        }
6718
2.50k
    }
6719
29.5k
    else if (*begin == CharT{']'}) {
6720
62
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6721
62
    }
6722
6723
2.48M
    while (begin != end) {
6724
2.48M
        if (SCN_UNLIKELY(!handler)) {
6725
418
            break;
6726
418
        }
6727
6728
2.47M
        if (*begin == CharT{']'}) {
6729
30.8k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6730
30.8k
        }
6731
6732
2.44M
        parse_presentation_set_literal(begin, end, handler);
6733
2.44M
    }
6734
6735
1.15k
    SCN_UNLIKELY_ATTR
6736
1.15k
    handler.on_error("Invalid [character set] specifier in format string");
6737
1.15k
    return {};
6738
31.9k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6692
2.92k
{
6693
2.92k
    SCN_EXPECT(begin != end);
6694
2.92k
    SCN_EXPECT(*begin == CharT{'['});
6695
6696
2.92k
    auto start = begin;
6697
2.92k
    ++begin;
6698
6699
2.92k
    if (SCN_UNLIKELY(begin == end)) {
6700
        // clang-format off
6701
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6702
        // clang-format on
6703
0
        return {};
6704
0
    }
6705
2.92k
    if (*begin == CharT{'^'}) {
6706
348
        handler.on_charset_inverted();
6707
348
        ++begin;
6708
348
        if (SCN_UNLIKELY(begin == end)) {
6709
            // clang-format off
6710
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6711
            // clang-format on
6712
0
            return {};
6713
0
        }
6714
348
        if (*begin == CharT{']'}) {
6715
6
            handler.on_charset_single(char32_t{']'});
6716
6
            ++begin;
6717
6
        }
6718
348
    }
6719
2.57k
    else if (*begin == CharT{']'}) {
6720
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6721
0
    }
6722
6723
604k
    while (begin != end) {
6724
604k
        if (SCN_UNLIKELY(!handler)) {
6725
0
            break;
6726
0
        }
6727
6728
604k
        if (*begin == CharT{']'}) {
6729
2.92k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6730
2.92k
        }
6731
6732
601k
        parse_presentation_set_literal(begin, end, handler);
6733
601k
    }
6734
6735
0
    SCN_UNLIKELY_ATTR
6736
0
    handler.on_error("Invalid [character set] specifier in format string");
6737
0
    return {};
6738
2.92k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6692
16.2k
{
6693
16.2k
    SCN_EXPECT(begin != end);
6694
16.2k
    SCN_EXPECT(*begin == CharT{'['});
6695
6696
16.2k
    auto start = begin;
6697
16.2k
    ++begin;
6698
6699
16.2k
    if (SCN_UNLIKELY(begin == end)) {
6700
        // clang-format off
6701
42
        handler.on_error("Unexpected end of [character set] specifier in format string");
6702
        // clang-format on
6703
42
        return {};
6704
42
    }
6705
16.2k
    if (*begin == CharT{'^'}) {
6706
2.12k
        handler.on_charset_inverted();
6707
2.12k
        ++begin;
6708
2.12k
        if (SCN_UNLIKELY(begin == end)) {
6709
            // clang-format off
6710
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
6711
            // clang-format on
6712
34
            return {};
6713
34
        }
6714
2.08k
        if (*begin == CharT{']'}) {
6715
54
            handler.on_charset_single(char32_t{']'});
6716
54
            ++begin;
6717
54
        }
6718
2.08k
    }
6719
14.1k
    else if (*begin == CharT{']'}) {
6720
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6721
34
    }
6722
6723
1.83M
    while (begin != end) {
6724
1.83M
        if (SCN_UNLIKELY(!handler)) {
6725
226
            break;
6726
226
        }
6727
6728
1.83M
        if (*begin == CharT{']'}) {
6729
15.4k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6730
15.4k
        }
6731
6732
1.82M
        parse_presentation_set_literal(begin, end, handler);
6733
1.82M
    }
6734
6735
716
    SCN_UNLIKELY_ATTR
6736
716
    handler.on_error("Invalid [character set] specifier in format string");
6737
716
    return {};
6738
16.1k
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6692
2.49k
{
6693
2.49k
    SCN_EXPECT(begin != end);
6694
2.49k
    SCN_EXPECT(*begin == CharT{'['});
6695
6696
2.49k
    auto start = begin;
6697
2.49k
    ++begin;
6698
6699
2.49k
    if (SCN_UNLIKELY(begin == end)) {
6700
        // clang-format off
6701
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6702
        // clang-format on
6703
0
        return {};
6704
0
    }
6705
2.49k
    if (*begin == CharT{'^'}) {
6706
0
        handler.on_charset_inverted();
6707
0
        ++begin;
6708
0
        if (SCN_UNLIKELY(begin == end)) {
6709
            // clang-format off
6710
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6711
            // clang-format on
6712
0
            return {};
6713
0
        }
6714
0
        if (*begin == CharT{']'}) {
6715
0
            handler.on_charset_single(char32_t{']'});
6716
0
            ++begin;
6717
0
        }
6718
0
    }
6719
2.49k
    else if (*begin == CharT{']'}) {
6720
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6721
0
    }
6722
6723
7.48k
    while (begin != end) {
6724
7.48k
        if (SCN_UNLIKELY(!handler)) {
6725
0
            break;
6726
0
        }
6727
6728
7.48k
        if (*begin == CharT{']'}) {
6729
2.49k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6730
2.49k
        }
6731
6732
4.99k
        parse_presentation_set_literal(begin, end, handler);
6733
4.99k
    }
6734
6735
0
    SCN_UNLIKELY_ATTR
6736
0
    handler.on_error("Invalid [character set] specifier in format string");
6737
0
    return {};
6738
2.49k
}
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6692
7.19k
{
6693
7.19k
    SCN_EXPECT(begin != end);
6694
7.19k
    SCN_EXPECT(*begin == CharT{'['});
6695
6696
7.19k
    auto start = begin;
6697
7.19k
    ++begin;
6698
6699
7.19k
    if (SCN_UNLIKELY(begin == end)) {
6700
        // clang-format off
6701
34
        handler.on_error("Unexpected end of [character set] specifier in format string");
6702
        // clang-format on
6703
34
        return {};
6704
34
    }
6705
7.16k
    if (*begin == CharT{'^'}) {
6706
106
        handler.on_charset_inverted();
6707
106
        ++begin;
6708
106
        if (SCN_UNLIKELY(begin == end)) {
6709
            // clang-format off
6710
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
6711
            // clang-format on
6712
34
            return {};
6713
34
        }
6714
72
        if (*begin == CharT{']'}) {
6715
28
            handler.on_charset_single(char32_t{']'});
6716
28
            ++begin;
6717
28
        }
6718
72
    }
6719
7.05k
    else if (*begin == CharT{']'}) {
6720
28
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6721
28
    }
6722
6723
21.8k
    while (begin != end) {
6724
21.6k
        if (SCN_UNLIKELY(!handler)) {
6725
192
            break;
6726
192
        }
6727
6728
21.4k
        if (*begin == CharT{']'}) {
6729
6.66k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6730
6.66k
        }
6731
6732
14.7k
        parse_presentation_set_literal(begin, end, handler);
6733
14.7k
    }
6734
6735
434
    SCN_UNLIKELY_ATTR
6736
434
    handler.on_error("Invalid [character set] specifier in format string");
6737
434
    return {};
6738
7.09k
}
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6692
3.29k
{
6693
3.29k
    SCN_EXPECT(begin != end);
6694
3.29k
    SCN_EXPECT(*begin == CharT{'['});
6695
6696
3.29k
    auto start = begin;
6697
3.29k
    ++begin;
6698
6699
3.29k
    if (SCN_UNLIKELY(begin == end)) {
6700
        // clang-format off
6701
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6702
        // clang-format on
6703
0
        return {};
6704
0
    }
6705
3.29k
    if (*begin == CharT{'^'}) {
6706
0
        handler.on_charset_inverted();
6707
0
        ++begin;
6708
0
        if (SCN_UNLIKELY(begin == end)) {
6709
            // clang-format off
6710
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6711
            // clang-format on
6712
0
            return {};
6713
0
        }
6714
0
        if (*begin == CharT{']'}) {
6715
0
            handler.on_charset_single(char32_t{']'});
6716
0
            ++begin;
6717
0
        }
6718
0
    }
6719
3.29k
    else if (*begin == CharT{']'}) {
6720
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6721
0
    }
6722
6723
9.88k
    while (begin != end) {
6724
9.88k
        if (SCN_UNLIKELY(!handler)) {
6725
0
            break;
6726
0
        }
6727
6728
9.88k
        if (*begin == CharT{']'}) {
6729
3.29k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6730
3.29k
        }
6731
6732
6.58k
        parse_presentation_set_literal(begin, end, handler);
6733
6.58k
    }
6734
6735
0
    SCN_UNLIKELY_ATTR
6736
0
    handler.on_error("Invalid [character set] specifier in format string");
6737
0
    return {};
6738
3.29k
}
6739
6740
template <typename CharT, typename SpecHandler>
6741
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
6742
                                                const CharT* end,
6743
                                                SpecHandler&& handler)
6744
44.0k
{
6745
44.0k
#if !SCN_DISABLE_REGEX
6746
44.0k
    SCN_EXPECT(begin != end);
6747
44.0k
    SCN_EXPECT(*begin == CharT{'/'});
6748
6749
44.0k
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6750
44.0k
                  std::is_same_v<CharT, wchar_t>) {
6751
44.0k
        handler.on_error("Regex backend doesn't support wide strings as input");
6752
44.0k
        return begin;
6753
44.0k
    }
6754
6755
44.0k
    auto start = begin;
6756
44.0k
    ++begin;
6757
6758
44.0k
    if (SCN_UNLIKELY(begin == end)) {
6759
68
        handler.on_error("Unexpected end of regex in format string");
6760
68
        return begin;
6761
68
    }
6762
6763
43.9k
    handler.on_type(presentation_type::regex);
6764
8.76M
    for (; begin != end; ++begin) {
6765
8.76M
        if (*begin == CharT{'/'}) {
6766
63.6k
            if (*(begin - 1) != CharT{'\\'}) {
6767
43.6k
                break;
6768
43.6k
            }
6769
20.0k
            else {
6770
20.0k
                handler.on_type(presentation_type::regex_escaped);
6771
20.0k
            }
6772
63.6k
        }
6773
8.76M
    }
6774
43.9k
    if (SCN_UNLIKELY(begin == end)) {
6775
332
        handler.on_error("Unexpected end of regex in format string");
6776
332
        return begin;
6777
332
    }
6778
6779
43.6k
    auto regex_end = begin;
6780
43.6k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6781
43.6k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6782
82
        handler.on_error("Invalid (empty) regex in format string");
6783
82
        return begin;
6784
82
    }
6785
43.5k
    handler.on_regex_pattern(regex_pattern);
6786
43.5k
    ++begin;
6787
6788
43.5k
    if (SCN_UNLIKELY(begin == end)) {
6789
68
        handler.on_error("Unexpected end of regex in format string");
6790
68
        return begin;
6791
68
    }
6792
6793
43.4k
    regex_flags flags{regex_flags::none};
6794
43.4k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6795
43.4k
        {{'m', regex_flags::multiline},
6796
43.4k
         {'s', regex_flags::singleline},
6797
43.4k
         {'i', regex_flags::nocase},
6798
43.4k
         {'n', regex_flags::nocapture}}};
6799
48.6k
    for (; begin != end; ++begin) {
6800
48.5k
        if (*begin == CharT{'}'}) {
6801
42.8k
            break;
6802
42.8k
        }
6803
5.72k
        bool found_flag = false;
6804
14.9k
        for (auto flag : flag_map) {
6805
14.9k
            if (static_cast<CharT>(flag.first) != *begin) {
6806
9.59k
                continue;
6807
9.59k
            }
6808
5.31k
            if ((flags & flag.second) != regex_flags::none) {
6809
116
                handler.on_error("Flag set multiple times in regex");
6810
116
                return begin;
6811
116
            }
6812
5.20k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6813
5.20k
            if (*begin == CharT{'s'}) {
6814
                // clang-format off
6815
138
                handler.on_error("/s flag for regex isn't supported by regex backend");
6816
                // clang-format on
6817
138
            }
6818
#if !SCN_HAS_STD_REGEX_MULTILINE
6819
            if (*begin == CharT{'m'}) {
6820
                // clang-format off
6821
                handler.on_error("/m flag for regex isn't supported by regex backend");
6822
                // clang-format on
6823
            }
6824
#endif
6825
5.20k
#endif
6826
5.20k
            flags |= flag.second;
6827
5.20k
            found_flag = true;
6828
5.20k
            break;
6829
5.31k
        }
6830
5.61k
        if (!found_flag) {
6831
410
            handler.on_error("Invalid flag in regex");
6832
410
            return begin;
6833
410
        }
6834
5.61k
    }
6835
42.9k
    handler.on_regex_flags(flags);
6836
6837
42.9k
    if (SCN_UNLIKELY(begin == end)) {
6838
104
        handler.on_error("Unexpected end of regex in format string");
6839
104
        return begin;
6840
104
    }
6841
6842
42.8k
    return begin;
6843
#else
6844
    handler.on_error("Regular expression support is disabled");
6845
    return {};
6846
#endif
6847
42.9k
}
impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6744
33.4k
{
6745
33.4k
#if !SCN_DISABLE_REGEX
6746
33.4k
    SCN_EXPECT(begin != end);
6747
33.4k
    SCN_EXPECT(*begin == CharT{'/'});
6748
6749
33.4k
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6750
33.4k
                  std::is_same_v<CharT, wchar_t>) {
6751
33.4k
        handler.on_error("Regex backend doesn't support wide strings as input");
6752
33.4k
        return begin;
6753
33.4k
    }
6754
6755
33.4k
    auto start = begin;
6756
33.4k
    ++begin;
6757
6758
33.4k
    if (SCN_UNLIKELY(begin == end)) {
6759
34
        handler.on_error("Unexpected end of regex in format string");
6760
34
        return begin;
6761
34
    }
6762
6763
33.4k
    handler.on_type(presentation_type::regex);
6764
7.18M
    for (; begin != end; ++begin) {
6765
7.18M
        if (*begin == CharT{'/'}) {
6766
50.6k
            if (*(begin - 1) != CharT{'\\'}) {
6767
33.2k
                break;
6768
33.2k
            }
6769
17.4k
            else {
6770
17.4k
                handler.on_type(presentation_type::regex_escaped);
6771
17.4k
            }
6772
50.6k
        }
6773
7.18M
    }
6774
33.4k
    if (SCN_UNLIKELY(begin == end)) {
6775
178
        handler.on_error("Unexpected end of regex in format string");
6776
178
        return begin;
6777
178
    }
6778
6779
33.2k
    auto regex_end = begin;
6780
33.2k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6781
33.2k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6782
34
        handler.on_error("Invalid (empty) regex in format string");
6783
34
        return begin;
6784
34
    }
6785
33.2k
    handler.on_regex_pattern(regex_pattern);
6786
33.2k
    ++begin;
6787
6788
33.2k
    if (SCN_UNLIKELY(begin == end)) {
6789
34
        handler.on_error("Unexpected end of regex in format string");
6790
34
        return begin;
6791
34
    }
6792
6793
33.1k
    regex_flags flags{regex_flags::none};
6794
33.1k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6795
33.1k
        {{'m', regex_flags::multiline},
6796
33.1k
         {'s', regex_flags::singleline},
6797
33.1k
         {'i', regex_flags::nocase},
6798
33.1k
         {'n', regex_flags::nocapture}}};
6799
38.1k
    for (; begin != end; ++begin) {
6800
38.0k
        if (*begin == CharT{'}'}) {
6801
32.9k
            break;
6802
32.9k
        }
6803
5.14k
        bool found_flag = false;
6804
13.5k
        for (auto flag : flag_map) {
6805
13.5k
            if (static_cast<CharT>(flag.first) != *begin) {
6806
8.60k
                continue;
6807
8.60k
            }
6808
4.95k
            if ((flags & flag.second) != regex_flags::none) {
6809
34
                handler.on_error("Flag set multiple times in regex");
6810
34
                return begin;
6811
34
            }
6812
4.91k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6813
4.91k
            if (*begin == CharT{'s'}) {
6814
                // clang-format off
6815
48
                handler.on_error("/s flag for regex isn't supported by regex backend");
6816
                // clang-format on
6817
48
            }
6818
#if !SCN_HAS_STD_REGEX_MULTILINE
6819
            if (*begin == CharT{'m'}) {
6820
                // clang-format off
6821
                handler.on_error("/m flag for regex isn't supported by regex backend");
6822
                // clang-format on
6823
            }
6824
#endif
6825
4.91k
#endif
6826
4.91k
            flags |= flag.second;
6827
4.91k
            found_flag = true;
6828
4.91k
            break;
6829
4.95k
        }
6830
5.10k
        if (!found_flag) {
6831
190
            handler.on_error("Invalid flag in regex");
6832
190
            return begin;
6833
190
        }
6834
5.10k
    }
6835
32.9k
    handler.on_regex_flags(flags);
6836
6837
32.9k
    if (SCN_UNLIKELY(begin == end)) {
6838
58
        handler.on_error("Unexpected end of regex in format string");
6839
58
        return begin;
6840
58
    }
6841
6842
32.9k
    return begin;
6843
#else
6844
    handler.on_error("Regular expression support is disabled");
6845
    return {};
6846
#endif
6847
32.9k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6744
10.5k
{
6745
10.5k
#if !SCN_DISABLE_REGEX
6746
10.5k
    SCN_EXPECT(begin != end);
6747
10.5k
    SCN_EXPECT(*begin == CharT{'/'});
6748
6749
10.5k
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6750
10.5k
                  std::is_same_v<CharT, wchar_t>) {
6751
10.5k
        handler.on_error("Regex backend doesn't support wide strings as input");
6752
10.5k
        return begin;
6753
10.5k
    }
6754
6755
10.5k
    auto start = begin;
6756
10.5k
    ++begin;
6757
6758
10.5k
    if (SCN_UNLIKELY(begin == end)) {
6759
34
        handler.on_error("Unexpected end of regex in format string");
6760
34
        return begin;
6761
34
    }
6762
6763
10.5k
    handler.on_type(presentation_type::regex);
6764
1.58M
    for (; begin != end; ++begin) {
6765
1.58M
        if (*begin == CharT{'/'}) {
6766
13.0k
            if (*(begin - 1) != CharT{'\\'}) {
6767
10.3k
                break;
6768
10.3k
            }
6769
2.62k
            else {
6770
2.62k
                handler.on_type(presentation_type::regex_escaped);
6771
2.62k
            }
6772
13.0k
        }
6773
1.58M
    }
6774
10.5k
    if (SCN_UNLIKELY(begin == end)) {
6775
154
        handler.on_error("Unexpected end of regex in format string");
6776
154
        return begin;
6777
154
    }
6778
6779
10.3k
    auto regex_end = begin;
6780
10.3k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6781
10.3k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6782
48
        handler.on_error("Invalid (empty) regex in format string");
6783
48
        return begin;
6784
48
    }
6785
10.3k
    handler.on_regex_pattern(regex_pattern);
6786
10.3k
    ++begin;
6787
6788
10.3k
    if (SCN_UNLIKELY(begin == end)) {
6789
34
        handler.on_error("Unexpected end of regex in format string");
6790
34
        return begin;
6791
34
    }
6792
6793
10.2k
    regex_flags flags{regex_flags::none};
6794
10.2k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6795
10.2k
        {{'m', regex_flags::multiline},
6796
10.2k
         {'s', regex_flags::singleline},
6797
10.2k
         {'i', regex_flags::nocase},
6798
10.2k
         {'n', regex_flags::nocapture}}};
6799
10.5k
    for (; begin != end; ++begin) {
6800
10.5k
        if (*begin == CharT{'}'}) {
6801
9.94k
            break;
6802
9.94k
        }
6803
584
        bool found_flag = false;
6804
1.35k
        for (auto flag : flag_map) {
6805
1.35k
            if (static_cast<CharT>(flag.first) != *begin) {
6806
994
                continue;
6807
994
            }
6808
364
            if ((flags & flag.second) != regex_flags::none) {
6809
82
                handler.on_error("Flag set multiple times in regex");
6810
82
                return begin;
6811
82
            }
6812
282
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6813
282
            if (*begin == CharT{'s'}) {
6814
                // clang-format off
6815
90
                handler.on_error("/s flag for regex isn't supported by regex backend");
6816
                // clang-format on
6817
90
            }
6818
#if !SCN_HAS_STD_REGEX_MULTILINE
6819
            if (*begin == CharT{'m'}) {
6820
                // clang-format off
6821
                handler.on_error("/m flag for regex isn't supported by regex backend");
6822
                // clang-format on
6823
            }
6824
#endif
6825
282
#endif
6826
282
            flags |= flag.second;
6827
282
            found_flag = true;
6828
282
            break;
6829
364
        }
6830
502
        if (!found_flag) {
6831
220
            handler.on_error("Invalid flag in regex");
6832
220
            return begin;
6833
220
        }
6834
502
    }
6835
9.99k
    handler.on_regex_flags(flags);
6836
6837
9.99k
    if (SCN_UNLIKELY(begin == end)) {
6838
46
        handler.on_error("Unexpected end of regex in format string");
6839
46
        return begin;
6840
46
    }
6841
6842
9.94k
    return begin;
6843
#else
6844
    handler.on_error("Regular expression support is disabled");
6845
    return {};
6846
#endif
6847
9.99k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
6848
6849
template <typename CharT, typename SpecHandler>
6850
constexpr const CharT* parse_format_specs(const CharT* begin,
6851
                                          const CharT* end,
6852
                                          SpecHandler&& handler)
6853
35.5M
{
6854
35.5M
    auto do_presentation = [&]() -> const CharT* {
6855
33.6M
        if (*begin == CharT{'['}) {
6856
29.2k
            auto set = parse_presentation_set(begin, end, handler);
6857
29.2k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
1.35k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
1.35k
                return begin;
6862
1.35k
            }
6863
27.9k
            handler.on_character_set_string(set);
6864
27.9k
            return begin;
6865
29.2k
        }
6866
33.5M
        if (*begin == CharT{'/'}) {
6867
44.0k
            return parse_presentation_regex(begin, end, handler);
6868
44.0k
        }
6869
33.5M
        presentation_type type = parse_presentation_type(*begin++);
6870
33.5M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
295k
            handler.on_error("Invalid type specifier in format string");
6872
295k
            return begin;
6873
295k
        }
6874
33.2M
        handler.on_type(type);
6875
33.2M
        return begin;
6876
33.5M
    };
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6854
2.86M
    auto do_presentation = [&]() -> const CharT* {
6855
2.86M
        if (*begin == CharT{'['}) {
6856
16.2k
            auto set = parse_presentation_set(begin, end, handler);
6857
16.2k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
826
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
826
                return begin;
6862
826
            }
6863
15.4k
            handler.on_character_set_string(set);
6864
15.4k
            return begin;
6865
16.2k
        }
6866
2.85M
        if (*begin == CharT{'/'}) {
6867
33.4k
            return parse_presentation_regex(begin, end, handler);
6868
33.4k
        }
6869
2.81M
        presentation_type type = parse_presentation_type(*begin++);
6870
2.81M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
50.5k
            handler.on_error("Invalid type specifier in format string");
6872
50.5k
            return begin;
6873
50.5k
        }
6874
2.76M
        handler.on_type(type);
6875
2.76M
        return begin;
6876
2.81M
    };
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6854
2.80M
    auto do_presentation = [&]() -> const CharT* {
6855
2.80M
        if (*begin == CharT{'['}) {
6856
2.49k
            auto set = parse_presentation_set(begin, end, handler);
6857
2.49k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
0
                return begin;
6862
0
            }
6863
2.49k
            handler.on_character_set_string(set);
6864
2.49k
            return begin;
6865
2.49k
        }
6866
2.80M
        if (*begin == CharT{'/'}) {
6867
0
            return parse_presentation_regex(begin, end, handler);
6868
0
        }
6869
2.80M
        presentation_type type = parse_presentation_type(*begin++);
6870
2.80M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
48.3k
            handler.on_error("Invalid type specifier in format string");
6872
48.3k
            return begin;
6873
48.3k
        }
6874
2.75M
        handler.on_type(type);
6875
2.75M
        return begin;
6876
2.80M
    };
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6854
18.4M
    auto do_presentation = [&]() -> const CharT* {
6855
18.4M
        if (*begin == CharT{'['}) {
6856
7.19k
            auto set = parse_presentation_set(begin, end, handler);
6857
7.19k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
530
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
530
                return begin;
6862
530
            }
6863
6.66k
            handler.on_character_set_string(set);
6864
6.66k
            return begin;
6865
7.19k
        }
6866
18.4M
        if (*begin == CharT{'/'}) {
6867
10.5k
            return parse_presentation_regex(begin, end, handler);
6868
10.5k
        }
6869
18.4M
        presentation_type type = parse_presentation_type(*begin++);
6870
18.4M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
100k
            handler.on_error("Invalid type specifier in format string");
6872
100k
            return begin;
6873
100k
        }
6874
18.3M
        handler.on_type(type);
6875
18.3M
        return begin;
6876
18.4M
    };
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6854
9.49M
    auto do_presentation = [&]() -> const CharT* {
6855
9.49M
        if (*begin == CharT{'['}) {
6856
3.29k
            auto set = parse_presentation_set(begin, end, handler);
6857
3.29k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
0
                return begin;
6862
0
            }
6863
3.29k
            handler.on_character_set_string(set);
6864
3.29k
            return begin;
6865
3.29k
        }
6866
9.49M
        if (*begin == CharT{'/'}) {
6867
0
            return parse_presentation_regex(begin, end, handler);
6868
0
        }
6869
9.49M
        presentation_type type = parse_presentation_type(*begin++);
6870
9.49M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
96.6k
            handler.on_error("Invalid type specifier in format string");
6872
96.6k
            return begin;
6873
96.6k
        }
6874
9.39M
        handler.on_type(type);
6875
9.39M
        return begin;
6876
9.49M
    };
6877
6878
35.5M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6879
35.5M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6880
33.0M
        return do_presentation();
6881
33.0M
    }
6882
6883
2.42M
    if (SCN_UNLIKELY(begin == end)) {
6884
0
        handler.on_error("Unexpected end of format string");
6885
0
        return begin;
6886
0
    }
6887
6888
2.42M
    begin = parse_align(begin, end, handler);
6889
2.42M
    if (SCN_UNLIKELY(begin == end)) {
6890
236
        handler.on_error("Unexpected end of format string");
6891
236
        return begin;
6892
236
    }
6893
6894
2.42M
    begin = parse_width(begin, end, handler);
6895
2.42M
    if (SCN_UNLIKELY(begin == end)) {
6896
210
        handler.on_error("Unexpected end of format string");
6897
210
        return begin;
6898
210
    }
6899
6900
2.42M
    if (*begin == CharT{'.'}) {
6901
8.45k
        ++begin;
6902
8.45k
        if (SCN_UNLIKELY(begin == end)) {
6903
74
            handler.on_error("Unexpected end of format string");
6904
74
            return begin;
6905
74
        }
6906
8.38k
        begin = parse_precision(begin, end, handler);
6907
8.38k
        if (SCN_UNLIKELY(begin == end)) {
6908
192
            handler.on_error("Unexpected end of format string");
6909
192
            return begin;
6910
192
        }
6911
8.38k
    }
6912
6913
2.42M
    if (*begin == CharT{'L'}) {
6914
1.89M
        handler.on_localized();
6915
1.89M
        ++begin;
6916
1.89M
    }
6917
2.42M
    if (SCN_UNLIKELY(begin == end)) {
6918
128
        handler.on_error("Unexpected end of format string");
6919
128
        return begin;
6920
128
    }
6921
6922
2.42M
    if (begin != end && *begin != CharT{'}'}) {
6923
528k
        do_presentation();
6924
528k
    }
6925
2.42M
    if (SCN_UNLIKELY(begin == end)) {
6926
3.66k
        handler.on_error("Unexpected end of format string");
6927
3.66k
        return begin;
6928
3.66k
    }
6929
6930
2.42M
    return begin;
6931
2.42M
}
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6853
3.70M
{
6854
3.70M
    auto do_presentation = [&]() -> const CharT* {
6855
3.70M
        if (*begin == CharT{'['}) {
6856
3.70M
            auto set = parse_presentation_set(begin, end, handler);
6857
3.70M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
3.70M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
3.70M
                return begin;
6862
3.70M
            }
6863
3.70M
            handler.on_character_set_string(set);
6864
3.70M
            return begin;
6865
3.70M
        }
6866
3.70M
        if (*begin == CharT{'/'}) {
6867
3.70M
            return parse_presentation_regex(begin, end, handler);
6868
3.70M
        }
6869
3.70M
        presentation_type type = parse_presentation_type(*begin++);
6870
3.70M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
3.70M
            handler.on_error("Invalid type specifier in format string");
6872
3.70M
            return begin;
6873
3.70M
        }
6874
3.70M
        handler.on_type(type);
6875
3.70M
        return begin;
6876
3.70M
    };
6877
6878
3.70M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6879
3.70M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6880
2.73M
        return do_presentation();
6881
2.73M
    }
6882
6883
967k
    if (SCN_UNLIKELY(begin == end)) {
6884
0
        handler.on_error("Unexpected end of format string");
6885
0
        return begin;
6886
0
    }
6887
6888
967k
    begin = parse_align(begin, end, handler);
6889
967k
    if (SCN_UNLIKELY(begin == end)) {
6890
120
        handler.on_error("Unexpected end of format string");
6891
120
        return begin;
6892
120
    }
6893
6894
967k
    begin = parse_width(begin, end, handler);
6895
967k
    if (SCN_UNLIKELY(begin == end)) {
6896
120
        handler.on_error("Unexpected end of format string");
6897
120
        return begin;
6898
120
    }
6899
6900
967k
    if (*begin == CharT{'.'}) {
6901
6.47k
        ++begin;
6902
6.47k
        if (SCN_UNLIKELY(begin == end)) {
6903
34
            handler.on_error("Unexpected end of format string");
6904
34
            return begin;
6905
34
        }
6906
6.44k
        begin = parse_precision(begin, end, handler);
6907
6.44k
        if (SCN_UNLIKELY(begin == end)) {
6908
78
            handler.on_error("Unexpected end of format string");
6909
78
            return begin;
6910
78
        }
6911
6.44k
    }
6912
6913
967k
    if (*begin == CharT{'L'}) {
6914
834k
        handler.on_localized();
6915
834k
        ++begin;
6916
834k
    }
6917
967k
    if (SCN_UNLIKELY(begin == end)) {
6918
52
        handler.on_error("Unexpected end of format string");
6919
52
        return begin;
6920
52
    }
6921
6922
967k
    if (begin != end && *begin != CharT{'}'}) {
6923
129k
        do_presentation();
6924
129k
    }
6925
967k
    if (SCN_UNLIKELY(begin == end)) {
6926
1.98k
        handler.on_error("Unexpected end of format string");
6927
1.98k
        return begin;
6928
1.98k
    }
6929
6930
965k
    return begin;
6931
967k
}
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6853
3.65M
{
6854
3.65M
    auto do_presentation = [&]() -> const CharT* {
6855
3.65M
        if (*begin == CharT{'['}) {
6856
3.65M
            auto set = parse_presentation_set(begin, end, handler);
6857
3.65M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
3.65M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
3.65M
                return begin;
6862
3.65M
            }
6863
3.65M
            handler.on_character_set_string(set);
6864
3.65M
            return begin;
6865
3.65M
        }
6866
3.65M
        if (*begin == CharT{'/'}) {
6867
3.65M
            return parse_presentation_regex(begin, end, handler);
6868
3.65M
        }
6869
3.65M
        presentation_type type = parse_presentation_type(*begin++);
6870
3.65M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
3.65M
            handler.on_error("Invalid type specifier in format string");
6872
3.65M
            return begin;
6873
3.65M
        }
6874
3.65M
        handler.on_type(type);
6875
3.65M
        return begin;
6876
3.65M
    };
6877
6878
3.65M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6879
3.65M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6880
2.72M
        return do_presentation();
6881
2.72M
    }
6882
6883
929k
    if (SCN_UNLIKELY(begin == end)) {
6884
0
        handler.on_error("Unexpected end of format string");
6885
0
        return begin;
6886
0
    }
6887
6888
929k
    begin = parse_align(begin, end, handler);
6889
929k
    if (SCN_UNLIKELY(begin == end)) {
6890
0
        handler.on_error("Unexpected end of format string");
6891
0
        return begin;
6892
0
    }
6893
6894
929k
    begin = parse_width(begin, end, handler);
6895
929k
    if (SCN_UNLIKELY(begin == end)) {
6896
0
        handler.on_error("Unexpected end of format string");
6897
0
        return begin;
6898
0
    }
6899
6900
929k
    if (*begin == CharT{'.'}) {
6901
0
        ++begin;
6902
0
        if (SCN_UNLIKELY(begin == end)) {
6903
0
            handler.on_error("Unexpected end of format string");
6904
0
            return begin;
6905
0
        }
6906
0
        begin = parse_precision(begin, end, handler);
6907
0
        if (SCN_UNLIKELY(begin == end)) {
6908
0
            handler.on_error("Unexpected end of format string");
6909
0
            return begin;
6910
0
        }
6911
0
    }
6912
6913
929k
    if (*begin == CharT{'L'}) {
6914
853k
        handler.on_localized();
6915
853k
        ++begin;
6916
853k
    }
6917
929k
    if (SCN_UNLIKELY(begin == end)) {
6918
0
        handler.on_error("Unexpected end of format string");
6919
0
        return begin;
6920
0
    }
6921
6922
929k
    if (begin != end && *begin != CharT{'}'}) {
6923
75.8k
        do_presentation();
6924
75.8k
    }
6925
929k
    if (SCN_UNLIKELY(begin == end)) {
6926
0
        handler.on_error("Unexpected end of format string");
6927
0
        return begin;
6928
0
    }
6929
6930
929k
    return begin;
6931
929k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6853
18.5M
{
6854
18.5M
    auto do_presentation = [&]() -> const CharT* {
6855
18.5M
        if (*begin == CharT{'['}) {
6856
18.5M
            auto set = parse_presentation_set(begin, end, handler);
6857
18.5M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
18.5M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
18.5M
                return begin;
6862
18.5M
            }
6863
18.5M
            handler.on_character_set_string(set);
6864
18.5M
            return begin;
6865
18.5M
        }
6866
18.5M
        if (*begin == CharT{'/'}) {
6867
18.5M
            return parse_presentation_regex(begin, end, handler);
6868
18.5M
        }
6869
18.5M
        presentation_type type = parse_presentation_type(*begin++);
6870
18.5M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
18.5M
            handler.on_error("Invalid type specifier in format string");
6872
18.5M
            return begin;
6873
18.5M
        }
6874
18.5M
        handler.on_type(type);
6875
18.5M
        return begin;
6876
18.5M
    };
6877
6878
18.5M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6879
18.5M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6880
18.2M
        return do_presentation();
6881
18.2M
    }
6882
6883
281k
    if (SCN_UNLIKELY(begin == end)) {
6884
0
        handler.on_error("Unexpected end of format string");
6885
0
        return begin;
6886
0
    }
6887
6888
281k
    begin = parse_align(begin, end, handler);
6889
281k
    if (SCN_UNLIKELY(begin == end)) {
6890
116
        handler.on_error("Unexpected end of format string");
6891
116
        return begin;
6892
116
    }
6893
6894
281k
    begin = parse_width(begin, end, handler);
6895
281k
    if (SCN_UNLIKELY(begin == end)) {
6896
90
        handler.on_error("Unexpected end of format string");
6897
90
        return begin;
6898
90
    }
6899
6900
281k
    if (*begin == CharT{'.'}) {
6901
1.98k
        ++begin;
6902
1.98k
        if (SCN_UNLIKELY(begin == end)) {
6903
40
            handler.on_error("Unexpected end of format string");
6904
40
            return begin;
6905
40
        }
6906
1.94k
        begin = parse_precision(begin, end, handler);
6907
1.94k
        if (SCN_UNLIKELY(begin == end)) {
6908
114
            handler.on_error("Unexpected end of format string");
6909
114
            return begin;
6910
114
        }
6911
1.94k
    }
6912
6913
280k
    if (*begin == CharT{'L'}) {
6914
103k
        handler.on_localized();
6915
103k
        ++begin;
6916
103k
    }
6917
280k
    if (SCN_UNLIKELY(begin == end)) {
6918
76
        handler.on_error("Unexpected end of format string");
6919
76
        return begin;
6920
76
    }
6921
6922
280k
    if (begin != end && *begin != CharT{'}'}) {
6923
173k
        do_presentation();
6924
173k
    }
6925
280k
    if (SCN_UNLIKELY(begin == end)) {
6926
1.67k
        handler.on_error("Unexpected end of format string");
6927
1.67k
        return begin;
6928
1.67k
    }
6929
6930
279k
    return begin;
6931
280k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6853
9.59M
{
6854
9.59M
    auto do_presentation = [&]() -> const CharT* {
6855
9.59M
        if (*begin == CharT{'['}) {
6856
9.59M
            auto set = parse_presentation_set(begin, end, handler);
6857
9.59M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6858
                // clang-format off
6859
9.59M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6860
                // clang-format on
6861
9.59M
                return begin;
6862
9.59M
            }
6863
9.59M
            handler.on_character_set_string(set);
6864
9.59M
            return begin;
6865
9.59M
        }
6866
9.59M
        if (*begin == CharT{'/'}) {
6867
9.59M
            return parse_presentation_regex(begin, end, handler);
6868
9.59M
        }
6869
9.59M
        presentation_type type = parse_presentation_type(*begin++);
6870
9.59M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6871
9.59M
            handler.on_error("Invalid type specifier in format string");
6872
9.59M
            return begin;
6873
9.59M
        }
6874
9.59M
        handler.on_type(type);
6875
9.59M
        return begin;
6876
9.59M
    };
6877
6878
9.59M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6879
9.59M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6880
9.34M
        return do_presentation();
6881
9.34M
    }
6882
6883
250k
    if (SCN_UNLIKELY(begin == end)) {
6884
0
        handler.on_error("Unexpected end of format string");
6885
0
        return begin;
6886
0
    }
6887
6888
250k
    begin = parse_align(begin, end, handler);
6889
250k
    if (SCN_UNLIKELY(begin == end)) {
6890
0
        handler.on_error("Unexpected end of format string");
6891
0
        return begin;
6892
0
    }
6893
6894
250k
    begin = parse_width(begin, end, handler);
6895
250k
    if (SCN_UNLIKELY(begin == end)) {
6896
0
        handler.on_error("Unexpected end of format string");
6897
0
        return begin;
6898
0
    }
6899
6900
250k
    if (*begin == CharT{'.'}) {
6901
0
        ++begin;
6902
0
        if (SCN_UNLIKELY(begin == end)) {
6903
0
            handler.on_error("Unexpected end of format string");
6904
0
            return begin;
6905
0
        }
6906
0
        begin = parse_precision(begin, end, handler);
6907
0
        if (SCN_UNLIKELY(begin == end)) {
6908
0
            handler.on_error("Unexpected end of format string");
6909
0
            return begin;
6910
0
        }
6911
0
    }
6912
6913
250k
    if (*begin == CharT{'L'}) {
6914
100k
        handler.on_localized();
6915
100k
        ++begin;
6916
100k
    }
6917
250k
    if (SCN_UNLIKELY(begin == end)) {
6918
0
        handler.on_error("Unexpected end of format string");
6919
0
        return begin;
6920
0
    }
6921
6922
250k
    if (begin != end && *begin != CharT{'}'}) {
6923
149k
        do_presentation();
6924
149k
    }
6925
250k
    if (SCN_UNLIKELY(begin == end)) {
6926
0
        handler.on_error("Unexpected end of format string");
6927
0
        return begin;
6928
0
    }
6929
6930
250k
    return begin;
6931
250k
}
6932
6933
template <typename CharT, typename Handler>
6934
constexpr const CharT* parse_replacement_field(const CharT* begin,
6935
                                               const CharT* end,
6936
                                               Handler& handler)
6937
35.5M
{
6938
35.5M
    struct id_adapter {
6939
35.5M
        constexpr void operator()()
6940
35.5M
        {
6941
35.5M
            arg_id = handler.on_arg_id();
6942
35.5M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
6940
3.70M
        {
6941
3.70M
            arg_id = handler.on_arg_id();
6942
3.70M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
6940
3.65M
        {
6941
3.65M
            arg_id = handler.on_arg_id();
6942
3.65M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
6940
18.5M
        {
6941
18.5M
            arg_id = handler.on_arg_id();
6942
18.5M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
6940
9.59M
        {
6941
9.59M
            arg_id = handler.on_arg_id();
6942
9.59M
        }
6943
35.5M
        constexpr void operator()(std::size_t id)
6944
35.5M
        {
6945
3.54k
            arg_id = handler.on_arg_id(id);
6946
3.54k
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
6944
3.23k
        {
6945
3.23k
            arg_id = handler.on_arg_id(id);
6946
3.23k
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
6944
310
        {
6945
310
            arg_id = handler.on_arg_id(id);
6946
310
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
6947
6948
35.5M
        constexpr void on_error(const char* msg)
6949
35.5M
        {
6950
22.8k
            SCN_UNLIKELY_ATTR
6951
22.8k
            handler.on_error(msg);
6952
22.8k
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Line
Count
Source
6949
22.4k
        {
6950
22.4k
            SCN_UNLIKELY_ATTR
6951
22.4k
            handler.on_error(msg);
6952
22.4k
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Line
Count
Source
6949
452
        {
6950
452
            SCN_UNLIKELY_ATTR
6951
452
            handler.on_error(msg);
6952
452
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
6953
6954
35.5M
        Handler& handler;
6955
35.5M
        std::size_t arg_id;
6956
35.5M
    };
6957
6958
35.5M
    ++begin;
6959
35.5M
    if (SCN_UNLIKELY(begin == end)) {
6960
164
        handler.on_error("Unexpected end of replacement field");
6961
164
        return begin;
6962
164
    }
6963
6964
35.5M
    if (*begin == CharT{'}'}) {
6965
10.4k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6966
10.4k
    }
6967
35.5M
    else if (*begin == CharT{'{'}) {
6968
4.55k
        handler.on_literal_text(begin, begin + 1);
6969
4.55k
    }
6970
35.5M
    else {
6971
35.5M
        auto adapter = id_adapter{handler, 0};
6972
35.5M
        begin = parse_arg_id(begin, end, adapter);
6973
6974
35.5M
        if (SCN_UNLIKELY(begin == end)) {
6975
218
            handler.on_error("Missing '}' in format string");
6976
218
            return begin;
6977
218
        }
6978
6979
35.5M
        if (*begin == CharT{'}'}) {
6980
318
            handler.on_replacement_field(adapter.arg_id, begin);
6981
318
        }
6982
35.5M
        else if (*begin == CharT{':'}) {
6983
35.5M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6984
126
                handler.on_error("Unexpected end of replacement field");
6985
126
                return begin;
6986
126
            }
6987
35.5M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6988
35.5M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6989
455k
                handler.on_error("Unknown format specifier");
6990
455k
                return begin;
6991
455k
            }
6992
35.5M
        }
6993
22.6k
        else {
6994
22.6k
            SCN_UNLIKELY_ATTR
6995
22.6k
            handler.on_error("Missing '}' in format string");
6996
22.6k
            return begin;
6997
22.6k
        }
6998
35.5M
    }
6999
35.0M
    return begin + 1;
7000
35.5M
}
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
6937
3.74M
{
6938
3.74M
    struct id_adapter {
6939
3.74M
        constexpr void operator()()
6940
3.74M
        {
6941
3.74M
            arg_id = handler.on_arg_id();
6942
3.74M
        }
6943
3.74M
        constexpr void operator()(std::size_t id)
6944
3.74M
        {
6945
3.74M
            arg_id = handler.on_arg_id(id);
6946
3.74M
        }
6947
6948
3.74M
        constexpr void on_error(const char* msg)
6949
3.74M
        {
6950
3.74M
            SCN_UNLIKELY_ATTR
6951
3.74M
            handler.on_error(msg);
6952
3.74M
        }
6953
6954
3.74M
        Handler& handler;
6955
3.74M
        std::size_t arg_id;
6956
3.74M
    };
6957
6958
3.74M
    ++begin;
6959
3.74M
    if (SCN_UNLIKELY(begin == end)) {
6960
76
        handler.on_error("Unexpected end of replacement field");
6961
76
        return begin;
6962
76
    }
6963
6964
3.74M
    if (*begin == CharT{'}'}) {
6965
5.87k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6966
5.87k
    }
6967
3.73M
    else if (*begin == CharT{'{'}) {
6968
4.43k
        handler.on_literal_text(begin, begin + 1);
6969
4.43k
    }
6970
3.73M
    else {
6971
3.73M
        auto adapter = id_adapter{handler, 0};
6972
3.73M
        begin = parse_arg_id(begin, end, adapter);
6973
6974
3.73M
        if (SCN_UNLIKELY(begin == end)) {
6975
110
            handler.on_error("Missing '}' in format string");
6976
110
            return begin;
6977
110
        }
6978
6979
3.73M
        if (*begin == CharT{'}'}) {
6980
140
            handler.on_replacement_field(adapter.arg_id, begin);
6981
140
        }
6982
3.73M
        else if (*begin == CharT{':'}) {
6983
3.70M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6984
74
                handler.on_error("Unexpected end of replacement field");
6985
74
                return begin;
6986
74
            }
6987
3.70M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6988
3.70M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6989
79.5k
                handler.on_error("Unknown format specifier");
6990
79.5k
                return begin;
6991
79.5k
            }
6992
3.70M
        }
6993
22.3k
        else {
6994
22.3k
            SCN_UNLIKELY_ATTR
6995
22.3k
            handler.on_error("Missing '}' in format string");
6996
22.3k
            return begin;
6997
22.3k
        }
6998
3.73M
    }
6999
3.63M
    return begin + 1;
7000
3.74M
}
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
6937
3.65M
{
6938
3.65M
    struct id_adapter {
6939
3.65M
        constexpr void operator()()
6940
3.65M
        {
6941
3.65M
            arg_id = handler.on_arg_id();
6942
3.65M
        }
6943
3.65M
        constexpr void operator()(std::size_t id)
6944
3.65M
        {
6945
3.65M
            arg_id = handler.on_arg_id(id);
6946
3.65M
        }
6947
6948
3.65M
        constexpr void on_error(const char* msg)
6949
3.65M
        {
6950
3.65M
            SCN_UNLIKELY_ATTR
6951
3.65M
            handler.on_error(msg);
6952
3.65M
        }
6953
6954
3.65M
        Handler& handler;
6955
3.65M
        std::size_t arg_id;
6956
3.65M
    };
6957
6958
3.65M
    ++begin;
6959
3.65M
    if (SCN_UNLIKELY(begin == end)) {
6960
0
        handler.on_error("Unexpected end of replacement field");
6961
0
        return begin;
6962
0
    }
6963
6964
3.65M
    if (*begin == CharT{'}'}) {
6965
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
6966
0
    }
6967
3.65M
    else if (*begin == CharT{'{'}) {
6968
0
        handler.on_literal_text(begin, begin + 1);
6969
0
    }
6970
3.65M
    else {
6971
3.65M
        auto adapter = id_adapter{handler, 0};
6972
3.65M
        begin = parse_arg_id(begin, end, adapter);
6973
6974
3.65M
        if (SCN_UNLIKELY(begin == end)) {
6975
0
            handler.on_error("Missing '}' in format string");
6976
0
            return begin;
6977
0
        }
6978
6979
3.65M
        if (*begin == CharT{'}'}) {
6980
0
            handler.on_replacement_field(adapter.arg_id, begin);
6981
0
        }
6982
3.65M
        else if (*begin == CharT{':'}) {
6983
3.65M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6984
0
                handler.on_error("Unexpected end of replacement field");
6985
0
                return begin;
6986
0
            }
6987
3.65M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6988
3.65M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6989
73.3k
                handler.on_error("Unknown format specifier");
6990
73.3k
                return begin;
6991
73.3k
            }
6992
3.65M
        }
6993
0
        else {
6994
0
            SCN_UNLIKELY_ATTR
6995
0
            handler.on_error("Missing '}' in format string");
6996
0
            return begin;
6997
0
        }
6998
3.65M
    }
6999
3.58M
    return begin + 1;
7000
3.65M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
6937
18.5M
{
6938
18.5M
    struct id_adapter {
6939
18.5M
        constexpr void operator()()
6940
18.5M
        {
6941
18.5M
            arg_id = handler.on_arg_id();
6942
18.5M
        }
6943
18.5M
        constexpr void operator()(std::size_t id)
6944
18.5M
        {
6945
18.5M
            arg_id = handler.on_arg_id(id);
6946
18.5M
        }
6947
6948
18.5M
        constexpr void on_error(const char* msg)
6949
18.5M
        {
6950
18.5M
            SCN_UNLIKELY_ATTR
6951
18.5M
            handler.on_error(msg);
6952
18.5M
        }
6953
6954
18.5M
        Handler& handler;
6955
18.5M
        std::size_t arg_id;
6956
18.5M
    };
6957
6958
18.5M
    ++begin;
6959
18.5M
    if (SCN_UNLIKELY(begin == end)) {
6960
88
        handler.on_error("Unexpected end of replacement field");
6961
88
        return begin;
6962
88
    }
6963
6964
18.5M
    if (*begin == CharT{'}'}) {
6965
4.58k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6966
4.58k
    }
6967
18.5M
    else if (*begin == CharT{'{'}) {
6968
120
        handler.on_literal_text(begin, begin + 1);
6969
120
    }
6970
18.5M
    else {
6971
18.5M
        auto adapter = id_adapter{handler, 0};
6972
18.5M
        begin = parse_arg_id(begin, end, adapter);
6973
6974
18.5M
        if (SCN_UNLIKELY(begin == end)) {
6975
108
            handler.on_error("Missing '}' in format string");
6976
108
            return begin;
6977
108
        }
6978
6979
18.5M
        if (*begin == CharT{'}'}) {
6980
178
            handler.on_replacement_field(adapter.arg_id, begin);
6981
178
        }
6982
18.5M
        else if (*begin == CharT{':'}) {
6983
18.5M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6984
52
                handler.on_error("Unexpected end of replacement field");
6985
52
                return begin;
6986
52
            }
6987
18.5M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6988
18.5M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6989
155k
                handler.on_error("Unknown format specifier");
6990
155k
                return begin;
6991
155k
            }
6992
18.5M
        }
6993
344
        else {
6994
344
            SCN_UNLIKELY_ATTR
6995
344
            handler.on_error("Missing '}' in format string");
6996
344
            return begin;
6997
344
        }
6998
18.5M
    }
6999
18.3M
    return begin + 1;
7000
18.5M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
6937
9.59M
{
6938
9.59M
    struct id_adapter {
6939
9.59M
        constexpr void operator()()
6940
9.59M
        {
6941
9.59M
            arg_id = handler.on_arg_id();
6942
9.59M
        }
6943
9.59M
        constexpr void operator()(std::size_t id)
6944
9.59M
        {
6945
9.59M
            arg_id = handler.on_arg_id(id);
6946
9.59M
        }
6947
6948
9.59M
        constexpr void on_error(const char* msg)
6949
9.59M
        {
6950
9.59M
            SCN_UNLIKELY_ATTR
6951
9.59M
            handler.on_error(msg);
6952
9.59M
        }
6953
6954
9.59M
        Handler& handler;
6955
9.59M
        std::size_t arg_id;
6956
9.59M
    };
6957
6958
9.59M
    ++begin;
6959
9.59M
    if (SCN_UNLIKELY(begin == end)) {
6960
0
        handler.on_error("Unexpected end of replacement field");
6961
0
        return begin;
6962
0
    }
6963
6964
9.59M
    if (*begin == CharT{'}'}) {
6965
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
6966
0
    }
6967
9.59M
    else if (*begin == CharT{'{'}) {
6968
0
        handler.on_literal_text(begin, begin + 1);
6969
0
    }
6970
9.59M
    else {
6971
9.59M
        auto adapter = id_adapter{handler, 0};
6972
9.59M
        begin = parse_arg_id(begin, end, adapter);
6973
6974
9.59M
        if (SCN_UNLIKELY(begin == end)) {
6975
0
            handler.on_error("Missing '}' in format string");
6976
0
            return begin;
6977
0
        }
6978
6979
9.59M
        if (*begin == CharT{'}'}) {
6980
0
            handler.on_replacement_field(adapter.arg_id, begin);
6981
0
        }
6982
9.59M
        else if (*begin == CharT{':'}) {
6983
9.59M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6984
0
                handler.on_error("Unexpected end of replacement field");
6985
0
                return begin;
6986
0
            }
6987
9.59M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6988
9.59M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6989
146k
                handler.on_error("Unknown format specifier");
6990
146k
                return begin;
6991
146k
            }
6992
9.59M
        }
6993
0
        else {
6994
0
            SCN_UNLIKELY_ATTR
6995
0
            handler.on_error("Missing '}' in format string");
6996
0
            return begin;
6997
0
        }
6998
9.59M
    }
6999
9.44M
    return begin + 1;
7000
9.59M
}
7001
7002
template <bool IsConstexpr, typename CharT, typename Handler>
7003
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7004
                                        Handler&& handler)
7005
35.6M
{
7006
    // TODO: memchr fast path with a larger (> 32) format string
7007
7008
35.6M
    auto begin = format.data();
7009
35.6M
    auto it = begin;
7010
35.6M
    const auto end = format.data() + format.size();
7011
7012
414M
    while (it != end) {
7013
380M
        const auto ch = *it++;
7014
380M
        if (ch == CharT{'{'}) {
7015
35.5M
            handler.on_literal_text(begin, it - 1);
7016
7017
35.5M
            begin = it = parse_replacement_field(it - 1, end, handler);
7018
35.5M
            if (!handler) {
7019
2.00M
                return;
7020
2.00M
            }
7021
35.5M
        }
7022
345M
        else if (ch == CharT{'}'}) {
7023
86.2k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7024
84.9k
                handler.on_error("Unmatched '}' in format string");
7025
84.9k
                return;
7026
84.9k
            }
7027
7028
1.38k
            handler.on_literal_text(begin, it);
7029
1.38k
            begin = ++it;
7030
1.38k
        }
7031
380M
    }
7032
7033
33.5M
    handler.on_literal_text(begin, end);
7034
33.5M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7005
3.73M
{
7006
    // TODO: memchr fast path with a larger (> 32) format string
7007
7008
3.73M
    auto begin = format.data();
7009
3.73M
    auto it = begin;
7010
3.73M
    const auto end = format.data() + format.size();
7011
7012
7.21M
    while (it != end) {
7013
3.87M
        const auto ch = *it++;
7014
3.87M
        if (ch == CharT{'{'}) {
7015
3.74M
            handler.on_literal_text(begin, it - 1);
7016
7017
3.74M
            begin = it = parse_replacement_field(it - 1, end, handler);
7018
3.74M
            if (!handler) {
7019
398k
                return;
7020
398k
            }
7021
3.74M
        }
7022
135k
        else if (ch == CharT{'}'}) {
7023
2.28k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7024
1.01k
                handler.on_error("Unmatched '}' in format string");
7025
1.01k
                return;
7026
1.01k
            }
7027
7028
1.26k
            handler.on_literal_text(begin, it);
7029
1.26k
            begin = ++it;
7030
1.26k
        }
7031
3.87M
    }
7032
7033
3.33M
    handler.on_literal_text(begin, end);
7034
3.33M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7005
3.65M
{
7006
    // TODO: memchr fast path with a larger (> 32) format string
7007
7008
3.65M
    auto begin = format.data();
7009
3.65M
    auto it = begin;
7010
3.65M
    const auto end = format.data() + format.size();
7011
7012
7.00M
    while (it != end) {
7013
3.65M
        const auto ch = *it++;
7014
3.65M
        if (ch == CharT{'{'}) {
7015
3.65M
            handler.on_literal_text(begin, it - 1);
7016
7017
3.65M
            begin = it = parse_replacement_field(it - 1, end, handler);
7018
3.65M
            if (!handler) {
7019
314k
                return;
7020
314k
            }
7021
3.65M
        }
7022
0
        else if (ch == CharT{'}'}) {
7023
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7024
0
                handler.on_error("Unmatched '}' in format string");
7025
0
                return;
7026
0
            }
7027
7028
0
            handler.on_literal_text(begin, it);
7029
0
            begin = ++it;
7030
0
        }
7031
3.65M
    }
7032
7033
3.34M
    handler.on_literal_text(begin, end);
7034
3.34M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7005
18.6M
{
7006
    // TODO: memchr fast path with a larger (> 32) format string
7007
7008
18.6M
    auto begin = format.data();
7009
18.6M
    auto it = begin;
7010
18.6M
    const auto end = format.data() + format.size();
7011
7012
381M
    while (it != end) {
7013
363M
        const auto ch = *it++;
7014
363M
        if (ch == CharT{'{'}) {
7015
18.5M
            handler.on_literal_text(begin, it - 1);
7016
7017
18.5M
            begin = it = parse_replacement_field(it - 1, end, handler);
7018
18.5M
            if (!handler) {
7019
667k
                return;
7020
667k
            }
7021
18.5M
        }
7022
344M
        else if (ch == CharT{'}'}) {
7023
84.0k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7024
83.9k
                handler.on_error("Unmatched '}' in format string");
7025
83.9k
                return;
7026
83.9k
            }
7027
7028
114
            handler.on_literal_text(begin, it);
7029
114
            begin = ++it;
7030
114
        }
7031
363M
    }
7032
7033
17.9M
    handler.on_literal_text(begin, end);
7034
17.9M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7005
9.59M
{
7006
    // TODO: memchr fast path with a larger (> 32) format string
7007
7008
9.59M
    auto begin = format.data();
7009
9.59M
    auto it = begin;
7010
9.59M
    const auto end = format.data() + format.size();
7011
7012
18.5M
    while (it != end) {
7013
9.59M
        const auto ch = *it++;
7014
9.59M
        if (ch == CharT{'{'}) {
7015
9.59M
            handler.on_literal_text(begin, it - 1);
7016
7017
9.59M
            begin = it = parse_replacement_field(it - 1, end, handler);
7018
9.59M
            if (!handler) {
7019
629k
                return;
7020
629k
            }
7021
9.59M
        }
7022
0
        else if (ch == CharT{'}'}) {
7023
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7024
0
                handler.on_error("Unmatched '}' in format string");
7025
0
                return;
7026
0
            }
7027
7028
0
            handler.on_literal_text(begin, it);
7029
0
            begin = ++it;
7030
0
        }
7031
9.59M
    }
7032
7033
8.96M
    handler.on_literal_text(begin, end);
7034
8.96M
}
7035
7036
template <bool IsConstexpr, typename CharT, typename Handler>
7037
constexpr scan_error parse_format_string(std::basic_string_view<CharT> format,
7038
                                         Handler&& handler)
7039
35.6M
{
7040
35.6M
    parse_format_string_impl<IsConstexpr>(format, handler);
7041
35.6M
    handler.check_args_exhausted();
7042
35.6M
    return handler.get_error();
7043
35.6M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7039
3.73M
{
7040
3.73M
    parse_format_string_impl<IsConstexpr>(format, handler);
7041
3.73M
    handler.check_args_exhausted();
7042
3.73M
    return handler.get_error();
7043
3.73M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7039
3.65M
{
7040
3.65M
    parse_format_string_impl<IsConstexpr>(format, handler);
7041
3.65M
    handler.check_args_exhausted();
7042
3.65M
    return handler.get_error();
7043
3.65M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7039
18.6M
{
7040
18.6M
    parse_format_string_impl<IsConstexpr>(format, handler);
7041
18.6M
    handler.check_args_exhausted();
7042
18.6M
    return handler.get_error();
7043
18.6M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7039
9.59M
{
7040
9.59M
    parse_format_string_impl<IsConstexpr>(format, handler);
7041
9.59M
    handler.check_args_exhausted();
7042
9.59M
    return handler.get_error();
7043
9.59M
}
7044
7045
enum class arg_type_category {
7046
    none,
7047
    integer,
7048
    unsigned_integer,
7049
    floating,
7050
    string,
7051
    pointer,
7052
    boolean,
7053
    character,
7054
    custom
7055
};
7056
7057
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7058
1.89M
{
7059
1.89M
    switch (type) {
7060
142
        case arg_type::none_type:
7061
142
            return arg_type_category::none;
7062
7063
121k
        case arg_type::schar_type:
7064
121k
        case arg_type::short_type:
7065
258k
        case arg_type::int_type:
7066
258k
        case arg_type::long_type:
7067
398k
        case arg_type::llong_type:
7068
398k
            return arg_type_category::integer;
7069
7070
109k
        case arg_type::uchar_type:
7071
109k
        case arg_type::ushort_type:
7072
229k
        case arg_type::uint_type:
7073
229k
        case arg_type::ulong_type:
7074
351k
        case arg_type::ullong_type:
7075
351k
            return arg_type_category::unsigned_integer;
7076
7077
70
        case arg_type::pointer_type:
7078
70
            return arg_type_category::pointer;
7079
70
        case arg_type::bool_type:
7080
70
            return arg_type_category::boolean;
7081
46
        case arg_type::narrow_character_type:
7082
70
        case arg_type::wide_character_type:
7083
70
        case arg_type::code_point_type:
7084
70
            return arg_type_category::character;
7085
7086
350k
        case arg_type::float_type:
7087
735k
        case arg_type::double_type:
7088
1.12M
        case arg_type::ldouble_type:
7089
1.12M
            return arg_type_category::floating;
7090
7091
1.67k
        case arg_type::narrow_string_view_type:
7092
4.99k
        case arg_type::narrow_string_type:
7093
8.27k
        case arg_type::wide_string_view_type:
7094
14.8k
        case arg_type::wide_string_type:
7095
14.8k
            return arg_type_category::string;
7096
7097
0
        case arg_type::custom_type:
7098
0
            return arg_type_category::custom;
7099
7100
0
            SCN_CLANG_PUSH
7101
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7102
0
        default:
7103
0
            SCN_ENSURE(false);
7104
1.89M
            SCN_UNREACHABLE;
7105
1.89M
            SCN_CLANG_POP
7106
1.89M
    }
7107
7108
1.89M
    SCN_UNREACHABLE;
7109
1.89M
}
7110
7111
template <typename Handler>
7112
class specs_checker : public Handler {
7113
public:
7114
    template <typename H>
7115
    constexpr specs_checker(H&& handler, arg_type type)
7116
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7117
35.5M
    {
7118
35.5M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7119
35.5M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7117
3.70M
    {
7118
3.70M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7119
3.70M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7117
3.65M
    {
7118
3.65M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7119
3.65M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7117
18.5M
    {
7118
18.5M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7119
18.5M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7117
9.59M
    {
7118
9.59M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7119
9.59M
    }
7120
7121
    constexpr void on_localized()
7122
1.89M
    {
7123
1.89M
        const auto cat = get_category_for_arg_type(m_arg_type);
7124
1.89M
        if (cat != arg_type_category::integer &&
7125
1.89M
            cat != arg_type_category::unsigned_integer &&
7126
1.89M
            cat != arg_type_category::floating &&
7127
1.89M
            cat != arg_type_category::boolean) {
7128
15.1k
            SCN_UNLIKELY_ATTR
7129
            // clang-format off
7130
15.1k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7131
            // clang-format on
7132
15.1k
        }
7133
7134
1.87M
        Handler::on_localized();
7135
1.87M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::on_localized()
Line
Count
Source
7122
834k
    {
7123
834k
        const auto cat = get_category_for_arg_type(m_arg_type);
7124
834k
        if (cat != arg_type_category::integer &&
7125
834k
            cat != arg_type_category::unsigned_integer &&
7126
834k
            cat != arg_type_category::floating &&
7127
834k
            cat != arg_type_category::boolean) {
7128
3.53k
            SCN_UNLIKELY_ATTR
7129
            // clang-format off
7130
3.53k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7131
            // clang-format on
7132
3.53k
        }
7133
7134
830k
        Handler::on_localized();
7135
830k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::on_localized()
Line
Count
Source
7122
853k
    {
7123
853k
        const auto cat = get_category_for_arg_type(m_arg_type);
7124
853k
        if (cat != arg_type_category::integer &&
7125
853k
            cat != arg_type_category::unsigned_integer &&
7126
853k
            cat != arg_type_category::floating &&
7127
853k
            cat != arg_type_category::boolean) {
7128
1.62k
            SCN_UNLIKELY_ATTR
7129
            // clang-format off
7130
1.62k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7131
            // clang-format on
7132
1.62k
        }
7133
7134
851k
        Handler::on_localized();
7135
851k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::on_localized()
Line
Count
Source
7122
103k
    {
7123
103k
        const auto cat = get_category_for_arg_type(m_arg_type);
7124
103k
        if (cat != arg_type_category::integer &&
7125
103k
            cat != arg_type_category::unsigned_integer &&
7126
103k
            cat != arg_type_category::floating &&
7127
103k
            cat != arg_type_category::boolean) {
7128
6.71k
            SCN_UNLIKELY_ATTR
7129
            // clang-format off
7130
6.71k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7131
            // clang-format on
7132
6.71k
        }
7133
7134
96.9k
        Handler::on_localized();
7135
96.9k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::on_localized()
Line
Count
Source
7122
100k
    {
7123
100k
        const auto cat = get_category_for_arg_type(m_arg_type);
7124
100k
        if (cat != arg_type_category::integer &&
7125
100k
            cat != arg_type_category::unsigned_integer &&
7126
100k
            cat != arg_type_category::floating &&
7127
100k
            cat != arg_type_category::boolean) {
7128
3.25k
            SCN_UNLIKELY_ATTR
7129
            // clang-format off
7130
3.25k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7131
            // clang-format on
7132
3.25k
        }
7133
7134
96.8k
        Handler::on_localized();
7135
96.8k
    }
7136
7137
private:
7138
    arg_type m_arg_type;
7139
};
7140
7141
template <typename Handler>
7142
constexpr void check_int_type_specs(const format_specs& specs,
7143
                                    Handler&& handler)
7144
3.97M
{
7145
3.97M
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7146
12.5k
        return handler.on_error("Invalid type specifier for integer type");
7147
12.5k
    }
7148
3.96M
    if (specs.localized) {
7149
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7150
            // clang-format off
7151
12
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7152
            // clang-format on
7153
12
            return;
7154
12
        }
7155
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7156
            // clang-format off
7157
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7158
            // clang-format on
7159
0
        }
7160
750k
    }
7161
3.96M
}
Unexecuted instantiation: void scn::v3::detail::check_int_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_int_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7144
3.97M
{
7145
3.97M
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7146
12.5k
        return handler.on_error("Invalid type specifier for integer type");
7147
12.5k
    }
7148
3.96M
    if (specs.localized) {
7149
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7150
            // clang-format off
7151
12
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7152
            // clang-format on
7153
12
            return;
7154
12
        }
7155
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7156
            // clang-format off
7157
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7158
            // clang-format on
7159
0
        }
7160
750k
    }
7161
3.96M
}
7162
7163
template <typename Handler>
7164
constexpr void check_char_type_specs(const format_specs& specs,
7165
                                     Handler&& handler)
7166
7.25k
{
7167
7.25k
    if (specs.type > presentation_type::int_hex ||
7168
7.25k
        specs.type == presentation_type::int_arbitrary_base) {
7169
6.26k
        SCN_UNLIKELY_ATTR
7170
6.26k
        return handler.on_error("Invalid type specifier for character type");
7171
6.26k
    }
7172
7.25k
}
Unexecuted instantiation: void scn::v3::detail::check_char_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_char_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7166
7.25k
{
7167
7.25k
    if (specs.type > presentation_type::int_hex ||
7168
7.25k
        specs.type == presentation_type::int_arbitrary_base) {
7169
6.26k
        SCN_UNLIKELY_ATTR
7170
6.26k
        return handler.on_error("Invalid type specifier for character type");
7171
6.26k
    }
7172
7.25k
}
7173
7174
template <typename Handler>
7175
constexpr void check_code_point_type_specs(const format_specs& specs,
7176
                                           Handler&& handler)
7177
0
{
7178
0
    if (specs.type != presentation_type::none &&
7179
0
        specs.type != presentation_type::character) {
7180
0
        SCN_UNLIKELY_ATTR
7181
0
        return handler.on_error("Invalid type specifier for code point type");
7182
0
    }
7183
0
}
7184
7185
template <typename Handler>
7186
constexpr void check_float_type_specs(const format_specs& specs,
7187
                                      Handler&& handler)
7188
4.04M
{
7189
4.04M
    if (specs.type != presentation_type::none &&
7190
4.04M
        (specs.type < presentation_type::float_hex ||
7191
2.91M
         specs.type > presentation_type::float_general)) {
7192
6.31k
        SCN_UNLIKELY_ATTR
7193
6.31k
        return handler.on_error("Invalid type specifier for float type");
7194
6.31k
    }
7195
4.04M
}
Unexecuted instantiation: void scn::v3::detail::check_float_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_float_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7188
4.04M
{
7189
4.04M
    if (specs.type != presentation_type::none &&
7190
4.04M
        (specs.type < presentation_type::float_hex ||
7191
2.91M
         specs.type > presentation_type::float_general)) {
7192
6.31k
        SCN_UNLIKELY_ATTR
7193
6.31k
        return handler.on_error("Invalid type specifier for float type");
7194
6.31k
    }
7195
4.04M
}
7196
7197
template <typename Handler>
7198
constexpr void check_string_type_specs(const format_specs& specs,
7199
                                       Handler&& handler)
7200
27.0M
{
7201
27.0M
    if (specs.type == presentation_type::none ||
7202
27.0M
        specs.type == presentation_type::string ||
7203
27.0M
        specs.type == presentation_type::string_set ||
7204
27.0M
        specs.type == presentation_type::regex ||
7205
27.0M
        specs.type == presentation_type::regex_escaped) {
7206
26.9M
        return;
7207
26.9M
    }
7208
15.3k
    if (specs.type == presentation_type::character) {
7209
14.8k
        if (SCN_UNLIKELY(specs.precision == 0)) {
7210
            // clang-format off
7211
14.6k
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7212
            // clang-format on
7213
14.6k
        }
7214
186
        return;
7215
14.8k
    }
7216
558
    SCN_UNLIKELY_ATTR
7217
558
    handler.on_error("Invalid type specifier for string");
7218
558
}
Unexecuted instantiation: void scn::v3::detail::check_string_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_string_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7200
27.0M
{
7201
27.0M
    if (specs.type == presentation_type::none ||
7202
27.0M
        specs.type == presentation_type::string ||
7203
27.0M
        specs.type == presentation_type::string_set ||
7204
27.0M
        specs.type == presentation_type::regex ||
7205
27.0M
        specs.type == presentation_type::regex_escaped) {
7206
26.9M
        return;
7207
26.9M
    }
7208
15.3k
    if (specs.type == presentation_type::character) {
7209
14.8k
        if (SCN_UNLIKELY(specs.precision == 0)) {
7210
            // clang-format off
7211
14.6k
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7212
            // clang-format on
7213
14.6k
        }
7214
186
        return;
7215
14.8k
    }
7216
558
    SCN_UNLIKELY_ATTR
7217
558
    handler.on_error("Invalid type specifier for string");
7218
558
}
7219
7220
template <typename Handler>
7221
constexpr void check_pointer_type_specs(const format_specs& specs,
7222
                                        Handler&& handler)
7223
7.25k
{
7224
7.25k
    if (specs.type != presentation_type::none &&
7225
7.25k
        specs.type != presentation_type::pointer) {
7226
6.35k
        SCN_UNLIKELY_ATTR
7227
6.35k
        return handler.on_error("Invalid type specifier for pointer");
7228
6.35k
    }
7229
7.25k
}
Unexecuted instantiation: void scn::v3::detail::check_pointer_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_pointer_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7223
7.25k
{
7224
7.25k
    if (specs.type != presentation_type::none &&
7225
7.25k
        specs.type != presentation_type::pointer) {
7226
6.35k
        SCN_UNLIKELY_ATTR
7227
6.35k
        return handler.on_error("Invalid type specifier for pointer");
7228
6.35k
    }
7229
7.25k
}
7230
7231
template <typename Handler>
7232
constexpr void check_bool_type_specs(const format_specs& specs,
7233
                                     Handler&& handler)
7234
7.30k
{
7235
7.30k
    if (specs.type != presentation_type::none &&
7236
7.30k
        specs.type != presentation_type::string &&
7237
7.30k
        specs.type != presentation_type::int_generic &&
7238
7.30k
        specs.type != presentation_type::int_hex &&
7239
7.30k
        specs.type != presentation_type::int_binary &&
7240
7.30k
        specs.type != presentation_type::int_unsigned_decimal &&
7241
7.30k
        specs.type != presentation_type::int_octal &&
7242
7.30k
        specs.type != presentation_type::int_decimal) {
7243
6.07k
        SCN_UNLIKELY_ATTR
7244
6.07k
        return handler.on_error("Invalid type specifier for boolean");
7245
6.07k
    }
7246
7.30k
}
Unexecuted instantiation: void scn::v3::detail::check_bool_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_bool_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7234
7.30k
{
7235
7.30k
    if (specs.type != presentation_type::none &&
7236
7.30k
        specs.type != presentation_type::string &&
7237
7.30k
        specs.type != presentation_type::int_generic &&
7238
7.30k
        specs.type != presentation_type::int_hex &&
7239
7.30k
        specs.type != presentation_type::int_binary &&
7240
7.30k
        specs.type != presentation_type::int_unsigned_decimal &&
7241
7.30k
        specs.type != presentation_type::int_octal &&
7242
7.30k
        specs.type != presentation_type::int_decimal) {
7243
6.07k
        SCN_UNLIKELY_ATTR
7244
6.07k
        return handler.on_error("Invalid type specifier for boolean");
7245
6.07k
    }
7246
7.30k
}
7247
7248
template <typename Handler>
7249
constexpr void check_regex_type_specs(const format_specs& specs,
7250
                                      Handler&& handler)
7251
0
{
7252
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
7253
0
                     specs.charset_string_size == 0)) {
7254
        // clang-format off
7255
0
        return handler.on_error("Regular expression needs to specified when reading regex_matches");
7256
        // clang-format on
7257
0
    }
7258
0
    if (specs.type == presentation_type::regex ||
7259
0
        specs.type == presentation_type::regex_escaped) {
7260
0
        return;
7261
0
    }
7262
0
    SCN_UNLIKELY_ATTR
7263
0
    handler.on_error("Invalid type specifier for regex_matches");
7264
0
}
Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
7265
}  // namespace detail
7266
7267
/**
7268
 * \defgroup format-string Format strings
7269
 *
7270
 * \brief Format string description
7271
 *
7272
 * The format string syntax is heavily influenced by {fmt} and
7273
 * `std::format`, and is largely compatible with it. Scanning functions,
7274
 * such as `scn::scan` and
7275
 * `scn::input`, use the format string syntax described in this section.
7276
 *
7277
 * Format strings consist of:
7278
 *
7279
 *  * Replacement fields, which are surrounded by curly braces `{}`.
7280
 *
7281
 *  * Non-whitespace characters (except `{}`; for literal braces, use
7282
 *    `{{` and `}}`), which consume exactly one identical character from the
7283
 *    input
7284
 *
7285
 *  * Whitespace characters, which consume any and all available consecutive
7286
 *    whitespace from the input.
7287
 *
7288
 * Literal characters are matched by code point one-to-one, with no
7289
 * normalization being done.
7290
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
7291
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
7292
 *
7293
 * Characters (code points) are considered to be whitespace characters by
7294
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
7295
 * These code points are:
7296
 *
7297
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
7298
 *  * U+0085 (next line)
7299
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
7300
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
7301
 *
7302
 * The grammar for a replacement field is as follows:
7303
 *
7304
 * \code
7305
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
7306
 * arg-id              ::= positive-integer
7307
 *
7308
 * format-spec         ::= [fill-and-align]
7309
 *                         [width] [precision]
7310
 *                         ['L'] [type]
7311
 * fill-and-align      ::= [fill] align
7312
 * fill                ::= any character other than
7313
 *                         '{' or '}'
7314
 * align               ::= one of '<' '>' '^'
7315
 * width               ::= positive-integer
7316
 * precision           ::= '.' nonnegative-integer
7317
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
7318
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
7319
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
7320
 * \endcode
7321
 *
7322
 * \section arg-ids Argument IDs
7323
 *
7324
 * The `arg-id` specifier can be used to index arguments manually.
7325
 * If manual indexing is used, all of the indices in a format string must be
7326
 * stated explicitly. The same `arg-id` can appear in the format string
7327
 * only once, and must refer to a valid argument.
7328
 *
7329
 * \code{.cpp}
7330
 * // Format string equivalent to "{0} to {1}"
7331
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
7332
 * // a->values() == (2, 300)
7333
 *
7334
 * // Manual indexing
7335
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
7336
 * // b->values() == (3, 200)
7337
 *
7338
 * // INVALID:
7339
 * // Automatic and manual indexing is mixed
7340
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
7341
 *
7342
 * // INVALID:
7343
 * // Same argument is referred to multiple times
7344
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
7345
 *
7346
 * // INVALID:
7347
 * // {2} does not refer to an argument
7348
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
7349
 * \endcode
7350
 *
7351
 * \section fill-and-align Fill and align
7352
 *
7353
 * Alignment allows for skipping character before and/or after a value.
7354
 * There are three possible values for alignment:
7355
 *
7356
 * <table>
7357
 * <caption id="align-table">
7358
 * Alignment options
7359
 * </caption>
7360
 *
7361
 * <tr><th>Option</th> <th>Meaning</th></tr>
7362
 *
7363
 * <tr>
7364
 * <td>`<`</td>
7365
 * <td>
7366
 * Align the value to the left (skips fill characters after the value)
7367
 * </td>
7368
 * </tr>
7369
 *
7370
 * <tr>
7371
 * <td>`>`</td>
7372
 * <td>
7373
 * Align the value to the right (skips fill characters before the value)
7374
 * </td>
7375
 * </tr>
7376
 *
7377
 * <tr>
7378
 * <td>`^`</td>
7379
 * <td>
7380
 * Align the value to the center
7381
 * (skips fill characters both before and after the value)
7382
 * </td>
7383
 * </tr>
7384
 * </table>
7385
 *
7386
 * The fill character can be any Unicode code point, except for `{` and `}`.
7387
 * The default fill is any whitespace character, as specified above.
7388
 *
7389
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
7390
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
7391
 * the default alignment is `>`.
7392
 * In practice, this means that leading whitespace is skipped by default.
7393
 * For the `c` format type specifier, there's no default alignment,
7394
 * and no fill characters are skipped, including whitespace.
7395
 *
7396
 * The number of fill characters consumed can be controlled with the width and
7397
 * precision specifiers.
7398
 *
7399
 * \section width Width
7400
 *
7401
 * Width specifies the minimum number of characters that will be read from
7402
 * the source range. It can be any unsigned integer. Any fill characters skipped
7403
 * are included in the width.
7404
 *
7405
 * For the purposes of width calculation, the same algorithm is used that in
7406
 * {fmt}. Every code point has a width of one, except the following ones
7407
 * have a width of 2:
7408
 *
7409
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
7410
 *   Derived Extracted Property as described by UAX#44
7411
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
7412
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
7413
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
7414
 *
7415
 * \section precision Precision
7416
 *
7417
 * Precision specifies the maximum number of characters that will be read from
7418
 * the source range. The method for counting characters is the same as above,
7419
 * with the width field.
7420
 *
7421
 * \section localized Localized
7422
 *
7423
 * The `L` flag enables localized scanning.
7424
 * Its effects are different for each type it is used with:
7425
 *
7426
 *  * For integers, it enables locale-specific thousands separators
7427
 *  * For floating-point numbers, it enables locale-specific thousands and
7428
 *    radix (decimal) separators
7429
 *  * For booleans, it enables locale-specific textual representations (for
7430
 *    `true` and `false`)
7431
 *  * For other types, it has no effect
7432
 *
7433
 * \section type Type specifier
7434
 *
7435
 * The type specifier determines how the data is to be scanned.
7436
 * The type of the argument to be scanned determines what flags are valid.
7437
 *
7438
 * \subsection type-string Type specifier: strings
7439
 *
7440
 * <table>
7441
 * <caption id="type-string-table">
7442
 * String types (`std::basic_string` and `std::basic_string_view`)
7443
 * </caption>
7444
 * <tr><th>Type</th> <th>Meaning</th></tr>
7445
 * <tr>
7446
 * <td>none, `s`</td>
7447
 * <td>
7448
 * Copies from the input until a whitespace character is encountered, or,
7449
 * if using the `<` (left) or `^` (center) alignment,
7450
 * a fill character is encountered.
7451
 * </td>
7452
 * </tr>
7453
 * <tr>
7454
 * <td>`c`</td>
7455
 * <td>
7456
 * Copies from the input until the field width is exhausted.
7457
 * Has no default alignment
7458
 * (doesn't skip preceding whitespace, if no alignment is specified).
7459
 * Errors if no field precision is provided.
7460
 * </td>
7461
 * </tr>
7462
 * <tr>
7463
 * <td>`[...]`</td>
7464
 * <td>
7465
 * Character set matching: copies from the input until a character not specified
7466
 * in the set is encountered. Character ranges can be specified with `-`, and
7467
 * the entire selection can be inverted with a prefix `^`. Matches and supports
7468
 * arbitrary Unicode code points.
7469
 * Has no default alignment
7470
 * (doesn't skip preceding whitespace, if no alignment is specified).
7471
 * </td>
7472
 * </tr>
7473
 * <tr>
7474
 * <td>`/<regex>/<flags>`</td>
7475
 * <td>
7476
 * Regular expression matching: copies from the input until the input does not
7477
 * match the regex.
7478
 * Has no default alignment
7479
 * (doesn't skip preceding whitespace, if no alignment is specified).
7480
 * \see regex
7481
 * </td>
7482
 * </tr>
7483
 * </table>
7484
 *
7485
 * \note `std::basic_string_view` can only be scanned if the source is
7486
 * contiguous.
7487
 *
7488
 * \subsection type-int Type specifier: integers
7489
 *
7490
 * Integer values are scanned as if by using `std::from_chars`,
7491
 * except a positive `+` sign and a base prefix (like `0x`) are always
7492
 * allowed to be present.
7493
 *
7494
 * <table>
7495
 * <caption id="type-int-table">
7496
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
7497
 * `int`, `long`, and `long long`)
7498
 * </caption>
7499
 * <tr><th>Type</th> <th>Meaning</th></tr>
7500
 * <tr>
7501
 * <td>`b`, `B`</td>
7502
 * <td>
7503
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
7504
 * </td>
7505
 * </tr>
7506
 * <tr>
7507
 * <td>`o`, `O`</td>
7508
 * <td>
7509
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
7510
 * `0`.
7511
 * </td>
7512
 * </tr>
7513
 * <tr>
7514
 * <td>`x`, `X`</td>
7515
 * <td>
7516
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
7517
 * </td>
7518
 * </tr>
7519
 * <tr>
7520
 * <td>`d`</td>
7521
 * <td>
7522
 * `std::from_chars` with base `10`. No base prefix allowed.
7523
 * </td>
7524
 * </tr>
7525
 * <tr>
7526
 * <td>`u`</td>
7527
 * <td>
7528
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
7529
 * </td>
7530
 * </tr>
7531
 * <tr>
7532
 * <td>`i`</td>
7533
 * <td>
7534
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
7535
 * </td>
7536
 * </tr>
7537
 * <tr>
7538
 * <td>`rXX` (where XX = [2, 36])</td>
7539
 * <td>
7540
 * Custom base, without a base prefix (r stands for radix).
7541
 * </td>
7542
 * </tr>
7543
 * <tr>
7544
 * <td>`c`</td>
7545
 * <td>
7546
 * Copies a character (code unit) from the input.
7547
 * </td>
7548
 * </tr>
7549
 * <tr>
7550
 * <td>none</td>
7551
 * <td>
7552
 * Same as `d`.
7553
 * </td>
7554
 * </tr>
7555
 * </table>
7556
 *
7557
 * \subsection type-char Type specifier: characters
7558
 *
7559
 * <table>
7560
 * <caption id="type-char-table">
7561
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
7562
 * </caption>
7563
 * <tr><th>Type</th> <th>Meaning</th></tr>
7564
 * <tr>
7565
 * <td>none, `c`</td>
7566
 * <td>
7567
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
7568
 * input.
7569
 * </td>
7570
 * </tr>
7571
 * <tr>
7572
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
7573
 * <td>
7574
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
7575
 * </td>
7576
 * </tr>
7577
 * </table>
7578
 *
7579
 * \note When scanning characters (`char` and `wchar_t`), the source range is
7580
 * read a single code unit at a time, and encoding is not respected.
7581
 *
7582
 * \subsection type-float Type specifier: floating-point values
7583
 *
7584
 * Floating-point values are scanned as if by using `std::from_chars`,
7585
 * except a positive `+` sign and a base prefix (like `0x`) are always
7586
 * allowed to be present.
7587
 *
7588
 * <table>
7589
 * <caption id="type-float-table">
7590
 * Floating-point types (`float`, `double`, and `long double`)
7591
 * </caption>
7592
 * <tr><th>Type</th> <th>Meaning</th></tr>
7593
 * <tr>
7594
 * <td>`a`, `A`</td>
7595
 * <td>
7596
 * `std::from_chars` with `std::chars_format::hex`.
7597
 * Prefix `0x`/`0X` is allowed.
7598
 * </td>
7599
 * </tr>
7600
 * <tr>
7601
 * <td>`e`, `E`</td>
7602
 * <td>
7603
 * `std::from_chars` with `std::chars_format::scientific`.
7604
 * </td>
7605
 * </tr>
7606
 * <tr>
7607
 * <td>`f`, `F`</td>
7608
 * <td>
7609
 * `std::from_chars` with `std::chars_format::fixed`.
7610
 * </td>
7611
 * </tr>
7612
 * <tr>
7613
 * <td>`g`, `G`</td>
7614
 * <td>
7615
 * `std::from_chars` with `std::chars_format::general`.
7616
 * </td>
7617
 * </tr>
7618
 * <tr>
7619
 * <td>none</td>
7620
 * <td>
7621
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
7622
 * Prefix `0x`/`0X` is allowed.
7623
 * </td>
7624
 * </tr>
7625
 * </table>
7626
 *
7627
 * \subsection type-bool Type specifier: booleans
7628
 *
7629
 * <table>
7630
 * <caption id="type-bool-table">
7631
 * `bool`
7632
 * </caption>
7633
 * <tr><th>Type</th> <th>Meaning</th></tr>
7634
 * <tr>
7635
 * <td>`s`</td>
7636
 * <td>
7637
 * Allows for the textual representation (`true` or `false`).
7638
 * </td>
7639
 * </tr>
7640
 * <tr>
7641
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
7642
 * <td>
7643
 * Allows for the integral/numeric representation (`0` or `1`).
7644
 * </td>
7645
 * </tr>
7646
 * <tr>
7647
 * <td>none</td>
7648
 * <td>
7649
 * Allows for both the textual and the integral/numeric representation.
7650
 * </td>
7651
 * </tr>
7652
 * </table>
7653
 */
7654
7655
namespace detail {
7656
/**
7657
 * A runtime format string
7658
 *
7659
 * \ingroup format-string
7660
 */
7661
template <typename CharT>
7662
struct basic_runtime_format_string {
7663
64.4M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v3::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7663
9.21M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v3::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7663
55.2M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
7664
7665
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
7666
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
7667
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
7668
        delete;
7669
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
7670
        delete;
7671
    ~basic_runtime_format_string() = default;
7672
7673
    std::basic_string_view<CharT> str;
7674
};
7675
}  // namespace detail
7676
7677
/**
7678
 * Create a runtime format string
7679
 *
7680
 * Can be used to avoid compile-time format string checking
7681
 *
7682
 * \ingroup format-string
7683
 */
7684
inline detail::basic_runtime_format_string<char> runtime_format(
7685
    std::string_view s)
7686
9.21M
{
7687
9.21M
    return s;
7688
9.21M
}
7689
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
7690
    std::wstring_view s)
7691
55.2M
{
7692
55.2M
    return s;
7693
55.2M
}
7694
7695
namespace detail {
7696
struct compile_string {};
7697
7698
template <typename Str>
7699
inline constexpr bool is_compile_string_v =
7700
    std::is_base_of_v<compile_string, Str>;
7701
7702
template <typename Scanner, typename = void>
7703
inline constexpr bool scanner_has_format_specs_member_v = false;
7704
template <typename Scanner>
7705
inline constexpr bool scanner_has_format_specs_member_v<
7706
    Scanner,
7707
    std::void_t<decltype(SCN_DECLVAL(Scanner&)._format_specs())>> = true;
7708
7709
template <typename T, typename Source, typename Ctx, typename ParseCtx>
7710
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
7711
{
7712
    using char_type = typename ParseCtx::char_type;
7713
    using mapped_type = std::conditional_t<
7714
        mapped_type_constant<T, char_type>::value != arg_type::custom_type,
7715
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
7716
            SCN_DECLVAL(T&)))>,
7717
        T>;
7718
    auto s = typename Ctx::template scanner_type<mapped_type>{};
7719
    auto it = s.parse(parse_ctx)
7720
                  .transform_error([&](scan_error err) constexpr {
7721
                      parse_ctx.on_error(err.msg());
7722
                      return err;
7723
                  })
7724
                  .value_or(parse_ctx.end());
7725
    if constexpr (scanner_has_format_specs_member_v<decltype(s)>) {
7726
        auto& specs = s._format_specs();
7727
        if ((specs.type == presentation_type::regex ||
7728
             specs.type == presentation_type::regex_escaped) &&
7729
            !(ranges::range<Source> && ranges::contiguous_range<Source>)) {
7730
            // clang-format off
7731
            parse_ctx.on_error("Cannot read a regex from a non-contiguous source");
7732
            // clang-format on
7733
        }
7734
    }
7735
    return it;
7736
}
7737
7738
template <typename CharT, typename Source, typename... Args>
7739
class format_string_checker {
7740
public:
7741
    using parse_context_type = compile_parse_context<CharT>;
7742
    static constexpr auto num_args = sizeof...(Args);
7743
7744
    explicit constexpr format_string_checker(
7745
        std::basic_string_view<CharT> format_str)
7746
        : m_parse_context(format_str,
7747
                          num_args,
7748
                          m_types,
7749
                          type_identity<Source>{}),
7750
          m_parse_funcs{&parse_format_specs<Args,
7751
                                            Source,
7752
                                            basic_scan_context<CharT>,
7753
                                            parse_context_type>...},
7754
          m_types{arg_type_constant<Args, CharT>::value...}
7755
    {
7756
    }
7757
7758
    constexpr void on_literal_text(const CharT* begin, const CharT* end) const
7759
    {
7760
        // TODO: Do we want to validate Unicode in format strings?
7761
        // We're dealing with text, so we probably do.
7762
        // We could do codeunit-to-codeunit matching,
7763
        // but that could get messy wrt. whitespace matching.
7764
        // It's simpler to not allow nonsense.
7765
        while (begin != end) {
7766
            const auto len = code_point_length_by_starting_code_unit(*begin);
7767
            if (SCN_UNLIKELY(len == 0 ||
7768
                             static_cast<size_t>(end - begin) < len)) {
7769
                return on_error("Invalid encoding in format string");
7770
            }
7771
7772
            const auto cp = decode_code_point_exhaustive(
7773
                std::basic_string_view<CharT>{begin, len});
7774
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7775
                return on_error("Invalid encoding in format string");
7776
            }
7777
7778
            begin += len;
7779
        }
7780
    }
7781
7782
    constexpr auto on_arg_id()
7783
    {
7784
        return m_parse_context.next_arg_id();
7785
    }
7786
    constexpr auto on_arg_id(std::size_t id)
7787
    {
7788
        m_parse_context.check_arg_id(id);
7789
        return id;
7790
    }
7791
7792
    constexpr void on_replacement_field(size_t id, const CharT*)
7793
    {
7794
        m_parse_context.check_arg_can_be_read(id);
7795
        set_arg_as_read(id);
7796
7797
        if (m_types[id] == arg_type::narrow_regex_matches_type ||
7798
            m_types[id] == arg_type::wide_regex_matches_type) {
7799
            // clang-format off
7800
            return on_error("Regular expression needs to be specified when reading regex_matches");
7801
            // clang-format on
7802
        }
7803
    }
7804
7805
    constexpr const CharT* on_format_specs(std::size_t id,
7806
                                           const CharT* begin,
7807
                                           const CharT*)
7808
    {
7809
        m_parse_context.check_arg_can_be_read(id);
7810
        set_arg_as_read(id);
7811
        m_parse_context.advance_to(begin);
7812
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
7813
    }
7814
7815
    constexpr void check_args_exhausted() const
7816
    {
7817
        if (num_args == 0) {
7818
            return;
7819
        }
7820
        for (auto is_set : m_visited_args) {
7821
            if (!is_set) {
7822
                return on_error("Argument list not exhausted");
7823
            }
7824
        }
7825
    }
7826
7827
    void on_error(const char* msg) const
7828
    {
7829
        SCN_UNLIKELY_ATTR
7830
        m_parse_context.on_error(msg);
7831
    }
7832
7833
    // Only to satisfy the concept and eliminate compiler errors,
7834
    // because errors are reported by failing to compile on_error above
7835
    // (it's not constexpr)
7836
    constexpr explicit operator bool() const
7837
    {
7838
        return true;
7839
    }
7840
    constexpr scan_error get_error() const
7841
    {
7842
        return {};
7843
    }
7844
7845
private:
7846
    constexpr void set_arg_as_read(size_t id)
7847
    {
7848
        if (id >= num_args) {
7849
            return on_error("Invalid out-of-range argument ID");
7850
        }
7851
        if (m_visited_args[id]) {
7852
            return on_error("Argument with this ID already scanned");
7853
        }
7854
        m_visited_args[id] = true;
7855
    }
7856
7857
    using parse_func = const CharT* (*)(parse_context_type&);
7858
7859
    parse_context_type m_parse_context;
7860
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
7861
    arg_type m_types[num_args > 0 ? num_args : 1];
7862
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
7863
};
7864
7865
template <typename Source, typename... Args, typename Str>
7866
auto check_format_string(const Str&)
7867
    -> std::enable_if_t<!is_compile_string_v<Str>>
7868
{
7869
    // TODO: SCN_ENFORE_COMPILE_STRING?
7870
#if 0  // SCN_ENFORE_COMPILE_STRING
7871
    static_assert(dependent_false<Str>::value,
7872
              "SCN_ENFORCE_COMPILE_STRING requires all format "
7873
              "strings to use SCN_STRING.");
7874
#endif
7875
}
7876
7877
template <typename Source, typename... Args, typename Str>
7878
auto check_format_string(Str format_str)
7879
    -> std::enable_if_t<is_compile_string_v<Str>>
7880
{
7881
    using char_type = typename Str::char_type;
7882
7883
    SCN_GCC_PUSH
7884
    SCN_GCC_IGNORE("-Wconversion")
7885
    constexpr auto s = std::basic_string_view<char_type>{format_str};
7886
    SCN_GCC_POP
7887
7888
    using checker = format_string_checker<char_type, Source, Args...>;
7889
    constexpr bool invalid_format =
7890
        (parse_format_string<true>(s, checker(s)), true);
7891
    SCN_UNUSED(invalid_format);
7892
}
7893
7894
template <typename CharT, std::size_t N>
7895
constexpr std::basic_string_view<CharT> compile_string_to_view(
7896
    const CharT (&s)[N])
7897
{
7898
    return {s, N - 1};
7899
}
7900
template <typename CharT>
7901
constexpr std::basic_string_view<CharT> compile_string_to_view(
7902
    std::basic_string_view<CharT> s)
7903
{
7904
    return s;
7905
}
7906
}  // namespace detail
7907
7908
#define SCN_STRING_IMPL(s, base, expl)                                       \
7909
    [] {                                                                     \
7910
        struct SCN_COMPILE_STRING : base {                                   \
7911
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
7912
            SCN_MAYBE_UNUSED constexpr expl                                  \
7913
            operator ::std::basic_string_view<char_type>() const             \
7914
            {                                                                \
7915
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
7916
            }                                                                \
7917
        };                                                                   \
7918
        return SCN_COMPILE_STRING{};                                         \
7919
    }()
7920
7921
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
7922
7923
/**
7924
 * Compile-time format string
7925
 *
7926
 * \ingroup format-string
7927
 */
7928
template <typename CharT, typename Source, typename... Args>
7929
class basic_scan_format_string {
7930
public:
7931
    SCN_CLANG_PUSH
7932
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
7933
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
7934
#endif
7935
    template <
7936
        typename S,
7937
        std::enable_if_t<
7938
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
7939
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
7940
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
7941
    {
7942
#if SCN_HAS_CONSTEVAL
7943
        using checker = detail::format_string_checker<CharT, Source, Args...>;
7944
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
7945
        SCN_UNUSED(e);
7946
#else
7947
        detail::check_format_string<Source, Args...>(s);
7948
#endif
7949
    }
7950
    SCN_CLANG_POP
7951
7952
    template <
7953
        typename OtherSource,
7954
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
7955
                                        detail::remove_cvref_t<OtherSource>> &&
7956
                         ranges::borrowed_range<Source> ==
7957
                             ranges::borrowed_range<OtherSource>>* = nullptr>
7958
    constexpr basic_scan_format_string(
7959
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
7960
        : m_str(other.get())
7961
    {
7962
    }
7963
7964
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
7965
        : m_str(r.str)
7966
64.4M
    {
7967
64.4M
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
9.27k
    {
7967
9.27k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
18.5k
    {
7967
18.5k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
311k
    {
7967
311k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
300k
    {
7967
300k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
393k
    {
7967
393k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
339k
    {
7967
339k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
400k
    {
7967
400k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
343k
    {
7967
343k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
312k
    {
7967
312k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
301k
    {
7967
301k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
394k
    {
7967
394k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
341k
    {
7967
341k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
401k
    {
7967
401k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
344k
    {
7967
344k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.3k
    {
7967
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.3k
    {
7967
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.4k
    {
7967
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.3k
    {
7967
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.6k
    {
7967
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.4k
    {
7967
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.3k
    {
7967
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.3k
    {
7967
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.4k
    {
7967
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.3k
    {
7967
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.6k
    {
7967
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
78.4k
    {
7967
78.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
135k
    {
7967
135k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
135k
    {
7967
135k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
138k
    {
7967
138k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
17.8M
    {
7967
17.8M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
17.8M
    {
7967
17.8M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
17.8M
    {
7967
17.8M
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
710k
    {
7967
710k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
765k
    {
7967
765k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
775k
    {
7967
775k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
722k
    {
7967
722k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
778k
    {
7967
778k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7966
787k
    {
7967
787k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
95.7k
    {
7967
95.7k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
95.8k
    {
7967
95.8k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
96.0k
    {
7967
96.0k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
95.6k
    {
7967
95.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
95.8k
    {
7967
95.8k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7966
95.9k
    {
7967
95.9k
    }
7968
7969
    constexpr operator std::basic_string_view<CharT>() const
7970
64.4M
    {
7971
64.4M
        return m_str;
7972
64.4M
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
9.27k
    {
7971
9.27k
        return m_str;
7972
9.27k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
18.5k
    {
7971
18.5k
        return m_str;
7972
18.5k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
311k
    {
7971
311k
        return m_str;
7972
311k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
300k
    {
7971
300k
        return m_str;
7972
300k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
393k
    {
7971
393k
        return m_str;
7972
393k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
339k
    {
7971
339k
        return m_str;
7972
339k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
400k
    {
7971
400k
        return m_str;
7972
400k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
343k
    {
7971
343k
        return m_str;
7972
343k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
312k
    {
7971
312k
        return m_str;
7972
312k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
301k
    {
7971
301k
        return m_str;
7972
301k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
394k
    {
7971
394k
        return m_str;
7972
394k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
341k
    {
7971
341k
        return m_str;
7972
341k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
401k
    {
7971
401k
        return m_str;
7972
401k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
344k
    {
7971
344k
        return m_str;
7972
344k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.3k
    {
7971
78.3k
        return m_str;
7972
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.3k
    {
7971
78.3k
        return m_str;
7972
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.4k
    {
7971
78.4k
        return m_str;
7972
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.3k
    {
7971
78.3k
        return m_str;
7972
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.6k
    {
7971
78.6k
        return m_str;
7972
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.4k
    {
7971
78.4k
        return m_str;
7972
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.3k
    {
7971
78.3k
        return m_str;
7972
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.3k
    {
7971
78.3k
        return m_str;
7972
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.4k
    {
7971
78.4k
        return m_str;
7972
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.3k
    {
7971
78.3k
        return m_str;
7972
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.6k
    {
7971
78.6k
        return m_str;
7972
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
78.4k
    {
7971
78.4k
        return m_str;
7972
78.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
135k
    {
7971
135k
        return m_str;
7972
135k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
135k
    {
7971
135k
        return m_str;
7972
135k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
138k
    {
7971
138k
        return m_str;
7972
138k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
17.8M
    {
7971
17.8M
        return m_str;
7972
17.8M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
17.8M
    {
7971
17.8M
        return m_str;
7972
17.8M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
17.8M
    {
7971
17.8M
        return m_str;
7972
17.8M
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
710k
    {
7971
710k
        return m_str;
7972
710k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
765k
    {
7971
765k
        return m_str;
7972
765k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
775k
    {
7971
775k
        return m_str;
7972
775k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
722k
    {
7971
722k
        return m_str;
7972
722k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
778k
    {
7971
778k
        return m_str;
7972
778k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7970
787k
    {
7971
787k
        return m_str;
7972
787k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
95.7k
    {
7971
95.7k
        return m_str;
7972
95.7k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
95.8k
    {
7971
95.8k
        return m_str;
7972
95.8k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
96.0k
    {
7971
96.0k
        return m_str;
7972
96.0k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
95.6k
    {
7971
95.6k
        return m_str;
7972
95.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
95.8k
    {
7971
95.8k
        return m_str;
7972
95.8k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7970
95.9k
    {
7971
95.9k
        return m_str;
7972
95.9k
    }
7973
    constexpr std::basic_string_view<CharT> get() const
7974
    {
7975
        return m_str;
7976
    }
7977
7978
private:
7979
    std::basic_string_view<CharT> m_str;
7980
};
7981
7982
namespace detail {
7983
class locale_ref {
7984
#if !SCN_DISABLE_LOCALE
7985
public:
7986
79.9M
    constexpr locale_ref() = default;
7987
7988
    template <typename Locale>
7989
    explicit locale_ref(const Locale& loc);
7990
7991
    constexpr explicit operator bool() const noexcept
7992
0
    {
7993
0
        return m_locale != nullptr;
7994
0
    }
7995
7996
    template <typename Locale>
7997
    Locale get() const;
7998
7999
private:
8000
    const void* m_locale{nullptr};
8001
#else
8002
public:
8003
    constexpr locale_ref() = default;
8004
8005
    template <typename T>
8006
    constexpr explicit locale_ref(T&&)
8007
    {
8008
    }
8009
8010
    constexpr explicit operator bool() const noexcept
8011
    {
8012
        return true;
8013
    }
8014
#endif
8015
};
8016
}  // namespace detail
8017
8018
/////////////////////////////////////////////////////////////////
8019
// scan_context
8020
/////////////////////////////////////////////////////////////////
8021
8022
namespace detail {
8023
template <typename I>
8024
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8025
template <typename I>
8026
inline constexpr bool is_comparable_with_nullptr =
8027
    mp_valid_v<apply_cmp_with_nullptr, I>;
8028
8029
template <typename Args>
8030
class scan_context_base {
8031
public:
8032
    /// Get argument at index `id`
8033
    constexpr auto arg(size_t id) const noexcept
8034
35.5M
    {
8035
35.5M
        return m_args.get(id);
8036
35.5M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::arg(unsigned long) const
Line
Count
Source
8034
7.37M
    {
8035
7.37M
        return m_args.get(id);
8036
7.37M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8034
28.1M
    {
8035
28.1M
        return m_args.get(id);
8036
28.1M
    }
8037
8038
    constexpr const Args& args() const
8039
10.7k
    {
8040
10.7k
        return m_args;
8041
10.7k
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::args() const
Line
Count
Source
8039
6.01k
    {
8040
6.01k
        return m_args;
8041
6.01k
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::args() const
Line
Count
Source
8039
4.76k
    {
8040
4.76k
        return m_args;
8041
4.76k
    }
8042
8043
    SCN_NODISCARD constexpr locale_ref locale() const
8044
35.0M
    {
8045
35.0M
        return m_locale;
8046
35.0M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::locale() const
Line
Count
Source
8044
7.21M
    {
8045
7.21M
        return m_locale;
8046
7.21M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::locale() const
Line
Count
Source
8044
27.8M
    {
8045
27.8M
        return m_locale;
8046
27.8M
    }
8047
8048
protected:
8049
    scan_context_base(Args args, locale_ref loc)
8050
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8051
35.6M
    {
8052
35.6M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
8051
7.39M
    {
8052
7.39M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
8051
28.2M
    {
8052
28.2M
    }
8053
8054
    Args m_args;
8055
    locale_ref m_locale;
8056
};
8057
}  // namespace detail
8058
8059
/**
8060
 * \defgroup ctx Contexts and scanners
8061
 *
8062
 * \brief Lower-level APIs used for scanning individual values
8063
 *
8064
 * \section user-defined Scanning user-defined types
8065
 *
8066
 * User-defined types can be scanned by specializing the class template
8067
 * `scn::scanner`.
8068
 *
8069
 * \code{.cpp}
8070
 * struct mytype {
8071
 *   int key;
8072
 *   std::string value;
8073
 * };
8074
 *
8075
 * template <>
8076
 * struct scn::scanner<mytype> {
8077
 *   template <typename ParseContext>
8078
 *   constexpr auto parse(ParseCtx& pctx)
8079
 *     -> scan_expected<typename ParseContext::iterator> {
8080
 *     // parse() implementation just returning begin():
8081
 *     // only permits empty format specifiers
8082
 *     return pctx.begin();
8083
 *   }
8084
 *
8085
 *   template <typename Context>
8086
 *   auto scan(mytype& val, Context& ctx)
8087
 *     -> scan_expected<typename Context::iterator> {
8088
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8089
 *       .transform([&](auto result) {
8090
 *         std::tie(val.key, val.value) = std::move(result->values());
8091
 *         return result.begin();
8092
 *       });
8093
 *   }
8094
 * };
8095
 * \endcode
8096
 *
8097
 * See also
8098
 * \ref g-usertypes
8099
 */
8100
8101
/**
8102
 * Scanning context.
8103
 *
8104
 * \ingroup ctx
8105
 */
8106
template <typename CharT>
8107
class basic_scan_context : public detail::scan_context_base<
8108
                               basic_scan_args<basic_scan_context<CharT>>> {
8109
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8110
8111
public:
8112
    /// Character type of the input
8113
    using char_type = CharT;
8114
    using buffer_type = detail::basic_scan_buffer<char_type>;
8115
    using range_type = typename buffer_type::range_type;
8116
    using iterator = ranges::iterator_t<range_type>;
8117
    using sentinel = ranges::sentinel_t<range_type>;
8118
    using parse_context_type = basic_scan_parse_context<char_type>;
8119
8120
    using args_type = basic_scan_args<basic_scan_context>;
8121
    using arg_type = basic_scan_arg<basic_scan_context>;
8122
8123
    /**
8124
     * The scanner type associated with this scanning context.
8125
     */
8126
    template <typename T>
8127
    using scanner_type = scanner<T, char_type>;
8128
8129
    constexpr basic_scan_context(iterator curr,
8130
                                 args_type a,
8131
                                 detail::locale_ref loc = {})
8132
        : base(SCN_MOVE(a), loc), m_current(curr)
8133
13.2M
    {
8134
13.2M
    }
scn::v3::basic_scan_context<char>::basic_scan_context(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
8133
3.65M
    {
8134
3.65M
    }
scn::v3::basic_scan_context<wchar_t>::basic_scan_context(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
8133
9.59M
    {
8134
9.59M
    }
8135
8136
    basic_scan_context(const basic_scan_context&) = delete;
8137
    basic_scan_context& operator=(const basic_scan_context&) = delete;
8138
8139
    basic_scan_context(basic_scan_context&&) = default;
8140
    basic_scan_context& operator=(basic_scan_context&&) = default;
8141
    ~basic_scan_context() = default;
8142
8143
    /**
8144
     * Returns an iterator pointing to the current position in the source
8145
     * range.
8146
     */
8147
    constexpr iterator begin() const
8148
38.5M
    {
8149
38.5M
        return m_current;
8150
38.5M
    }
scn::v3::basic_scan_context<char>::begin() const
Line
Count
Source
8148
10.5M
    {
8149
10.5M
        return m_current;
8150
10.5M
    }
scn::v3::basic_scan_context<wchar_t>::begin() const
Line
Count
Source
8148
28.0M
    {
8149
28.0M
        return m_current;
8150
28.0M
    }
8151
8152
    /**
8153
     * Returns a sentinel pointing to the end of the source range.
8154
     */
8155
    constexpr sentinel end() const
8156
13.0M
    {
8157
13.0M
        return ranges::default_sentinel;
8158
13.0M
    }
scn::v3::basic_scan_context<char>::end() const
Line
Count
Source
8156
3.58M
    {
8157
3.58M
        return ranges::default_sentinel;
8158
3.58M
    }
scn::v3::basic_scan_context<wchar_t>::end() const
Line
Count
Source
8156
9.44M
    {
8157
9.44M
        return ranges::default_sentinel;
8158
9.44M
    }
8159
8160
    /**
8161
     * Returns a subrange over `[begin(), end())`
8162
     */
8163
    constexpr auto range() const
8164
13.0M
    {
8165
13.0M
        return ranges::subrange{begin(), end()};
8166
13.0M
    }
scn::v3::basic_scan_context<char>::range() const
Line
Count
Source
8164
3.58M
    {
8165
3.58M
        return ranges::subrange{begin(), end()};
8166
3.58M
    }
scn::v3::basic_scan_context<wchar_t>::range() const
Line
Count
Source
8164
9.44M
    {
8165
9.44M
        return ranges::subrange{begin(), end()};
8166
9.44M
    }
8167
8168
    /// Advances the beginning of the source range to `it`
8169
    void advance_to(iterator it)
8170
12.3M
    {
8171
12.3M
        m_current = SCN_MOVE(it);
8172
12.3M
    }
scn::v3::basic_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
8170
3.34M
    {
8171
3.34M
        m_current = SCN_MOVE(it);
8172
3.34M
    }
scn::v3::basic_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
8170
8.96M
    {
8171
8.96M
        m_current = SCN_MOVE(it);
8172
8.96M
    }
8173
8174
private:
8175
    iterator m_current;
8176
};
8177
8178
namespace detail {
8179
template <typename T, typename ParseCtx>
8180
constexpr scan_expected<typename ParseCtx::iterator>
8181
scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs);
8182
8183
template <typename T, typename Context>
8184
scan_expected<typename Context::iterator>
8185
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
8186
}  // namespace detail
8187
8188
/////////////////////////////////////////////////////////////////
8189
// scanner
8190
/////////////////////////////////////////////////////////////////
8191
8192
/**
8193
 * `scanner` specialization for all built-in types
8194
 *
8195
 * \ingroup ctx
8196
 */
8197
template <typename T, typename CharT>
8198
struct scanner<T,
8199
               CharT,
8200
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
8201
                                    detail::arg_type::custom_type &&
8202
                                !detail::is_type_disabled<T>>> {
8203
    template <typename ParseCtx>
8204
    constexpr auto parse(ParseCtx& pctx)
8205
        -> scan_expected<typename ParseCtx::iterator>
8206
    {
8207
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
8208
    }
8209
8210
    template <typename Context>
8211
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
8212
    {
8213
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
8214
    }
8215
8216
    constexpr auto& _format_specs()
8217
    {
8218
        return m_specs;
8219
    }
8220
8221
private:
8222
    detail::format_specs m_specs;
8223
};
8224
8225
namespace detail {
8226
template <typename T, typename ParseCtx>
8227
constexpr scan_expected<typename ParseCtx::iterator>
8228
scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs)
8229
{
8230
    using char_type = typename ParseCtx::char_type;
8231
8232
    auto begin = pctx.begin();
8233
    const auto end = pctx.end();
8234
    if (begin == end) {
8235
        return begin;
8236
    }
8237
8238
    using handler_type = specs_setter;
8239
    const auto type = arg_type_constant<T, char_type>::value;
8240
    auto checker =
8241
        detail::specs_checker<handler_type>(handler_type(specs), type);
8242
8243
    const auto it =
8244
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
8245
    if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) {
8246
        return unexpected(e);
8247
    }
8248
8249
    switch (type) {
8250
        case arg_type::none_type:
8251
            SCN_FALLTHROUGH;
8252
        case arg_type::custom_type:
8253
            SCN_ENSURE(false);
8254
            break;
8255
8256
        case arg_type::bool_type:
8257
            check_bool_type_specs(specs, checker);
8258
            break;
8259
8260
        case arg_type::schar_type:
8261
        case arg_type::short_type:
8262
        case arg_type::int_type:
8263
        case arg_type::long_type:
8264
        case arg_type::llong_type:
8265
        case arg_type::uchar_type:
8266
        case arg_type::ushort_type:
8267
        case arg_type::uint_type:
8268
        case arg_type::ulong_type:
8269
        case arg_type::ullong_type:
8270
            check_int_type_specs(specs, checker);
8271
            break;
8272
8273
        case arg_type::narrow_character_type:
8274
        case arg_type::wide_character_type:
8275
        case arg_type::code_point_type:
8276
            check_char_type_specs(specs, checker);
8277
            break;
8278
8279
        case arg_type::float_type:
8280
        case arg_type::double_type:
8281
        case arg_type::ldouble_type:
8282
            check_float_type_specs(specs, checker);
8283
            break;
8284
8285
        case arg_type::narrow_string_type:
8286
        case arg_type::narrow_string_view_type:
8287
        case arg_type::wide_string_type:
8288
        case arg_type::wide_string_view_type:
8289
            check_string_type_specs(specs, checker);
8290
            break;
8291
8292
        case arg_type::pointer_type:
8293
            check_pointer_type_specs(specs, checker);
8294
            break;
8295
8296
        case arg_type::narrow_regex_matches_type:
8297
        case arg_type::wide_regex_matches_type:
8298
            check_regex_type_specs(specs, checker);
8299
            break;
8300
8301
            SCN_CLANG_PUSH
8302
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8303
8304
        default:
8305
            SCN_ENSURE(false);
8306
            SCN_UNREACHABLE;
8307
8308
            SCN_CLANG_POP
8309
    }
8310
8311
    if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) {
8312
        return unexpected(e);
8313
    }
8314
8315
    return {it};
8316
}
8317
}  // namespace detail
8318
8319
/**
8320
 * Type for discarding any scanned value.
8321
 * Example:
8322
 *
8323
 * \code{.cpp}
8324
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
8325
 * // r.has_value() == true
8326
 * // decltype(r->value()) is scn::discard<int>
8327
 * \endcode
8328
 *
8329
 * \ingroup format-string
8330
 */
8331
template <typename T>
8332
struct discard {
8333
    constexpr discard() = default;
8334
8335
    constexpr discard(const T&) noexcept {}
8336
    constexpr discard(T&&) noexcept {}
8337
8338
    constexpr discard& operator=(const T&) noexcept
8339
    {
8340
        return *this;
8341
    }
8342
    constexpr discard& operator=(T&&) noexcept
8343
    {
8344
        return *this;
8345
    }
8346
};
8347
8348
template <typename T, typename CharT>
8349
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
8350
    template <typename Context>
8351
    auto scan(discard<T>&, Context& ctx) const
8352
    {
8353
        T val{};
8354
        return scanner<T, CharT>::scan(val, ctx);
8355
    }
8356
};
8357
8358
namespace detail {
8359
template <typename Range>
8360
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
8361
    Range r,
8362
    bool allow_exhaustion);
8363
8364
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
8365
    extern template scan_expected<Context::iterator>         \
8366
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
8367
8368
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
8369
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
8370
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
8371
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
8372
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
8373
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
8374
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
8375
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
8376
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
8377
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
8378
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
8379
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
8380
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
8381
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
8382
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
8383
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
8384
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
8385
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
8386
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
8387
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
8388
        std::basic_string_view<Context::char_type>, Context)               \
8389
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
8390
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
8391
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
8392
    internal_skip_classic_whitespace(Context::range_type, bool);
8393
8394
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
8395
8396
}  // namespace detail
8397
8398
/////////////////////////////////////////////////////////////////
8399
// visit_scan_arg
8400
/////////////////////////////////////////////////////////////////
8401
8402
/**
8403
 * Visit a `basic_scan_arg` with `Visitor`.
8404
 * Calls `vis` with the value stored in `arg`.
8405
 * If no value is contained in `arg`, calls `vis` with a `monostate`.
8406
 *
8407
 * \return `vis(x)`, where `x` is either a reference to the value contained
8408
 * in `arg`, or a `basic_scan_arg::handle`.
8409
 */
8410
template <typename Visitor, typename Ctx>
8411
constexpr decltype(auto) visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
8412
78.2M
{
8413
78.2M
#define SCN_VISIT(Type)                                         \
8414
78.2M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
78.2M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
78.2M
    }                                                           \
8417
78.2M
    else {                                                      \
8418
78.2M
        return vis(monostate_val);                              \
8419
78.2M
    }
8420
8421
78.2M
    monostate monostate_val{};
8422
8423
78.2M
    switch (arg.m_type) {
8424
770k
        case detail::arg_type::schar_type:
8425
770k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
950k
        case detail::arg_type::int_type:
8429
950k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
958k
        case detail::arg_type::llong_type:
8433
958k
            SCN_VISIT(long long);
8434
743k
        case detail::arg_type::uchar_type:
8435
743k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
835k
        case detail::arg_type::uint_type:
8439
835k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
835k
        case detail::arg_type::ullong_type:
8443
835k
            SCN_VISIT(unsigned long long);
8444
8.41k
        case detail::arg_type::pointer_type:
8445
8.41k
            SCN_VISIT(void*);
8446
8.47k
        case detail::arg_type::bool_type:
8447
8.47k
            SCN_VISIT(bool);
8448
6.21k
        case detail::arg_type::narrow_character_type:
8449
6.21k
            SCN_VISIT(char);
8450
2.20k
        case detail::arg_type::wide_character_type:
8451
2.20k
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
1.79M
        case detail::arg_type::float_type:
8455
1.79M
            SCN_VISIT(float);
8456
1.92M
        case detail::arg_type::double_type:
8457
1.92M
            SCN_VISIT(double);
8458
1.94M
        case detail::arg_type::ldouble_type:
8459
1.94M
            SCN_VISIT(long double);
8460
170k
        case detail::arg_type::narrow_string_view_type:
8461
170k
            SCN_VISIT(std::string_view);
8462
341k
        case detail::arg_type::narrow_string_type:
8463
341k
            SCN_VISIT(std::string);
8464
22.3M
        case detail::arg_type::wide_string_view_type:
8465
22.3M
            SCN_VISIT(std::wstring_view);
8466
44.6M
        case detail::arg_type::wide_string_type:
8467
44.6M
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
78.2M
            SCN_CLANG_POP
8491
78.2M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8412
1.44M
{
8413
1.44M
#define SCN_VISIT(Type)                                         \
8414
1.44M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
1.44M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
1.44M
    }                                                           \
8417
1.44M
    else {                                                      \
8418
1.44M
        return vis(monostate_val);                              \
8419
1.44M
    }
8420
8421
1.44M
    monostate monostate_val{};
8422
8423
1.44M
    switch (arg.m_type) {
8424
78.8k
        case detail::arg_type::schar_type:
8425
78.8k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
91.8k
        case detail::arg_type::int_type:
8429
91.8k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
92.8k
        case detail::arg_type::llong_type:
8433
92.8k
            SCN_VISIT(long long);
8434
69.9k
        case detail::arg_type::uchar_type:
8435
69.9k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
78.6k
        case detail::arg_type::uint_type:
8439
78.6k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
79.0k
        case detail::arg_type::ullong_type:
8443
79.0k
            SCN_VISIT(unsigned long long);
8444
654
        case detail::arg_type::pointer_type:
8445
654
            SCN_VISIT(void*);
8446
654
        case detail::arg_type::bool_type:
8447
654
            SCN_VISIT(bool);
8448
654
        case detail::arg_type::narrow_character_type:
8449
654
            SCN_VISIT(char);
8450
0
        case detail::arg_type::wide_character_type:
8451
0
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
233k
        case detail::arg_type::float_type:
8455
233k
            SCN_VISIT(float);
8456
258k
        case detail::arg_type::double_type:
8457
258k
            SCN_VISIT(double);
8458
263k
        case detail::arg_type::ldouble_type:
8459
263k
            SCN_VISIT(long double);
8460
97.0k
        case detail::arg_type::narrow_string_view_type:
8461
97.0k
            SCN_VISIT(std::string_view);
8462
97.0k
        case detail::arg_type::narrow_string_type:
8463
97.0k
            SCN_VISIT(std::string);
8464
0
        case detail::arg_type::wide_string_view_type:
8465
0
            SCN_VISIT(std::wstring_view);
8466
654
        case detail::arg_type::wide_string_type:
8467
654
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
1.44M
            SCN_CLANG_POP
8491
1.44M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8412
1.29M
{
8413
1.29M
#define SCN_VISIT(Type)                                         \
8414
1.29M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
1.29M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
1.29M
    }                                                           \
8417
1.29M
    else {                                                      \
8418
1.29M
        return vis(monostate_val);                              \
8419
1.29M
    }
8420
8421
1.29M
    monostate monostate_val{};
8422
8423
1.29M
    switch (arg.m_type) {
8424
78.7k
        case detail::arg_type::schar_type:
8425
78.7k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
89.5k
        case detail::arg_type::int_type:
8429
89.5k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
91.0k
        case detail::arg_type::llong_type:
8433
91.0k
            SCN_VISIT(long long);
8434
69.8k
        case detail::arg_type::uchar_type:
8435
69.8k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
77.8k
        case detail::arg_type::uint_type:
8439
77.8k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
78.8k
        case detail::arg_type::ullong_type:
8443
78.8k
            SCN_VISIT(unsigned long long);
8444
0
        case detail::arg_type::pointer_type:
8445
0
            SCN_VISIT(void*);
8446
0
        case detail::arg_type::bool_type:
8447
0
            SCN_VISIT(bool);
8448
0
        case detail::arg_type::narrow_character_type:
8449
0
            SCN_VISIT(char);
8450
0
        case detail::arg_type::wide_character_type:
8451
0
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
220k
        case detail::arg_type::float_type:
8455
220k
            SCN_VISIT(float);
8456
244k
        case detail::arg_type::double_type:
8457
244k
            SCN_VISIT(double);
8458
247k
        case detail::arg_type::ldouble_type:
8459
247k
            SCN_VISIT(long double);
8460
0
        case detail::arg_type::narrow_string_view_type:
8461
0
            SCN_VISIT(std::string_view);
8462
98.6k
        case detail::arg_type::narrow_string_type:
8463
98.6k
            SCN_VISIT(std::string);
8464
0
        case detail::arg_type::wide_string_view_type:
8465
0
            SCN_VISIT(std::wstring_view);
8466
0
        case detail::arg_type::wide_string_type:
8467
0
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
1.29M
            SCN_CLANG_POP
8491
1.29M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8412
3.62M
{
8413
3.62M
#define SCN_VISIT(Type)                                         \
8414
3.62M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
3.62M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
3.62M
    }                                                           \
8417
3.62M
    else {                                                      \
8418
3.62M
        return vis(monostate_val);                              \
8419
3.62M
    }
8420
8421
3.62M
    monostate monostate_val{};
8422
8423
3.62M
    switch (arg.m_type) {
8424
247k
        case detail::arg_type::schar_type:
8425
247k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
326k
        case detail::arg_type::int_type:
8429
326k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
326k
        case detail::arg_type::llong_type:
8433
326k
            SCN_VISIT(long long);
8434
242k
        case detail::arg_type::uchar_type:
8435
242k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
281k
        case detail::arg_type::uint_type:
8439
281k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
278k
        case detail::arg_type::ullong_type:
8443
278k
            SCN_VISIT(unsigned long long);
8444
5.55k
        case detail::arg_type::pointer_type:
8445
5.55k
            SCN_VISIT(void*);
8446
5.59k
        case detail::arg_type::bool_type:
8447
5.59k
            SCN_VISIT(bool);
8448
5.55k
        case detail::arg_type::narrow_character_type:
8449
5.55k
            SCN_VISIT(char);
8450
0
        case detail::arg_type::wide_character_type:
8451
0
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
554k
        case detail::arg_type::float_type:
8455
554k
            SCN_VISIT(float);
8456
599k
        case detail::arg_type::double_type:
8457
599k
            SCN_VISIT(double);
8458
600k
        case detail::arg_type::ldouble_type:
8459
600k
            SCN_VISIT(long double);
8460
73.9k
        case detail::arg_type::narrow_string_view_type:
8461
73.9k
            SCN_VISIT(std::string_view);
8462
73.9k
        case detail::arg_type::narrow_string_type:
8463
73.9k
            SCN_VISIT(std::string);
8464
0
        case detail::arg_type::wide_string_view_type:
8465
0
            SCN_VISIT(std::wstring_view);
8466
5.55k
        case detail::arg_type::wide_string_type:
8467
5.55k
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
3.62M
            SCN_CLANG_POP
8491
3.62M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8412
3.58M
{
8413
3.58M
#define SCN_VISIT(Type)                                         \
8414
3.58M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
3.58M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
3.58M
    }                                                           \
8417
3.58M
    else {                                                      \
8418
3.58M
        return vis(monostate_val);                              \
8419
3.58M
    }
8420
8421
3.58M
    monostate monostate_val{};
8422
8423
3.58M
    switch (arg.m_type) {
8424
248k
        case detail::arg_type::schar_type:
8425
248k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
322k
        case detail::arg_type::int_type:
8429
322k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
328k
        case detail::arg_type::llong_type:
8433
328k
            SCN_VISIT(long long);
8434
243k
        case detail::arg_type::uchar_type:
8435
243k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
277k
        case detail::arg_type::uint_type:
8439
277k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
280k
        case detail::arg_type::ullong_type:
8443
280k
            SCN_VISIT(unsigned long long);
8444
0
        case detail::arg_type::pointer_type:
8445
0
            SCN_VISIT(void*);
8446
0
        case detail::arg_type::bool_type:
8447
0
            SCN_VISIT(bool);
8448
0
        case detail::arg_type::narrow_character_type:
8449
0
            SCN_VISIT(char);
8450
0
        case detail::arg_type::wide_character_type:
8451
0
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
575k
        case detail::arg_type::float_type:
8455
575k
            SCN_VISIT(float);
8456
616k
        case detail::arg_type::double_type:
8457
616k
            SCN_VISIT(double);
8458
623k
        case detail::arg_type::ldouble_type:
8459
623k
            SCN_VISIT(long double);
8460
0
        case detail::arg_type::narrow_string_view_type:
8461
0
            SCN_VISIT(std::string_view);
8462
69.5k
        case detail::arg_type::narrow_string_type:
8463
69.5k
            SCN_VISIT(std::string);
8464
0
        case detail::arg_type::wide_string_view_type:
8465
0
            SCN_VISIT(std::wstring_view);
8466
0
        case detail::arg_type::wide_string_type:
8467
0
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
3.58M
            SCN_CLANG_POP
8491
3.58M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8412
26.9M
{
8413
26.9M
#define SCN_VISIT(Type)                                         \
8414
26.9M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
26.9M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
26.9M
    }                                                           \
8417
26.9M
    else {                                                      \
8418
26.9M
        return vis(monostate_val);                              \
8419
26.9M
    }
8420
8421
26.9M
    monostate monostate_val{};
8422
8423
26.9M
    switch (arg.m_type) {
8424
11.8k
        case detail::arg_type::schar_type:
8425
11.8k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
12.3k
        case detail::arg_type::int_type:
8429
12.3k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
11.8k
        case detail::arg_type::llong_type:
8433
11.8k
            SCN_VISIT(long long);
8434
11.7k
        case detail::arg_type::uchar_type:
8435
11.7k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
12.3k
        case detail::arg_type::uint_type:
8439
12.3k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
11.8k
        case detail::arg_type::ullong_type:
8443
11.8k
            SCN_VISIT(unsigned long long);
8444
510
        case detail::arg_type::pointer_type:
8445
510
            SCN_VISIT(void*);
8446
510
        case detail::arg_type::bool_type:
8447
510
            SCN_VISIT(bool);
8448
0
        case detail::arg_type::narrow_character_type:
8449
0
            SCN_VISIT(char);
8450
510
        case detail::arg_type::wide_character_type:
8451
510
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
24.7k
        case detail::arg_type::float_type:
8455
24.7k
            SCN_VISIT(float);
8456
25.3k
        case detail::arg_type::double_type:
8457
25.3k
            SCN_VISIT(double);
8458
24.9k
        case detail::arg_type::ldouble_type:
8459
24.9k
            SCN_VISIT(long double);
8460
0
        case detail::arg_type::narrow_string_view_type:
8461
0
            SCN_VISIT(std::string_view);
8462
510
        case detail::arg_type::narrow_string_type:
8463
510
            SCN_VISIT(std::string);
8464
13.3M
        case detail::arg_type::wide_string_view_type:
8465
13.3M
            SCN_VISIT(std::wstring_view);
8466
13.3M
        case detail::arg_type::wide_string_type:
8467
13.3M
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
26.9M
            SCN_CLANG_POP
8491
26.9M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8412
18.3M
{
8413
18.3M
#define SCN_VISIT(Type)                                         \
8414
18.3M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
18.3M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
18.3M
    }                                                           \
8417
18.3M
    else {                                                      \
8418
18.3M
        return vis(monostate_val);                              \
8419
18.3M
    }
8420
8421
18.3M
    monostate monostate_val{};
8422
8423
18.3M
    switch (arg.m_type) {
8424
47.1k
        case detail::arg_type::schar_type:
8425
47.1k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
48.9k
        case detail::arg_type::int_type:
8429
48.9k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
47.3k
        case detail::arg_type::llong_type:
8433
47.3k
            SCN_VISIT(long long);
8434
47.0k
        case detail::arg_type::uchar_type:
8435
47.0k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
48.8k
        case detail::arg_type::uint_type:
8439
48.8k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
47.2k
        case detail::arg_type::ullong_type:
8443
47.2k
            SCN_VISIT(unsigned long long);
8444
1.69k
        case detail::arg_type::pointer_type:
8445
1.69k
            SCN_VISIT(void*);
8446
1.71k
        case detail::arg_type::bool_type:
8447
1.71k
            SCN_VISIT(bool);
8448
0
        case detail::arg_type::narrow_character_type:
8449
0
            SCN_VISIT(char);
8450
1.69k
        case detail::arg_type::wide_character_type:
8451
1.69k
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
79.2k
        case detail::arg_type::float_type:
8455
79.2k
            SCN_VISIT(float);
8456
81.0k
        case detail::arg_type::double_type:
8457
81.0k
            SCN_VISIT(double);
8458
79.4k
        case detail::arg_type::ldouble_type:
8459
79.4k
            SCN_VISIT(long double);
8460
0
        case detail::arg_type::narrow_string_view_type:
8461
0
            SCN_VISIT(std::string_view);
8462
1.69k
        case detail::arg_type::narrow_string_type:
8463
1.69k
            SCN_VISIT(std::string);
8464
8.92M
        case detail::arg_type::wide_string_view_type:
8465
8.92M
            SCN_VISIT(std::wstring_view);
8466
8.92M
        case detail::arg_type::wide_string_type:
8467
8.92M
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
18.3M
            SCN_CLANG_POP
8491
18.3M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8412
13.5M
{
8413
13.5M
#define SCN_VISIT(Type)                                         \
8414
13.5M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
13.5M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
13.5M
    }                                                           \
8417
13.5M
    else {                                                      \
8418
13.5M
        return vis(monostate_val);                              \
8419
13.5M
    }
8420
8421
13.5M
    monostate monostate_val{};
8422
8423
13.5M
    switch (arg.m_type) {
8424
11.8k
        case detail::arg_type::schar_type:
8425
11.8k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
11.8k
        case detail::arg_type::int_type:
8429
11.8k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
11.8k
        case detail::arg_type::llong_type:
8433
11.8k
            SCN_VISIT(long long);
8434
11.7k
        case detail::arg_type::uchar_type:
8435
11.7k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
11.8k
        case detail::arg_type::uint_type:
8439
11.8k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
11.8k
        case detail::arg_type::ullong_type:
8443
11.8k
            SCN_VISIT(unsigned long long);
8444
0
        case detail::arg_type::pointer_type:
8445
0
            SCN_VISIT(void*);
8446
0
        case detail::arg_type::bool_type:
8447
0
            SCN_VISIT(bool);
8448
0
        case detail::arg_type::narrow_character_type:
8449
0
            SCN_VISIT(char);
8450
0
        case detail::arg_type::wide_character_type:
8451
0
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
24.7k
        case detail::arg_type::float_type:
8455
24.7k
            SCN_VISIT(float);
8456
24.8k
        case detail::arg_type::double_type:
8457
24.8k
            SCN_VISIT(double);
8458
24.8k
        case detail::arg_type::ldouble_type:
8459
24.8k
            SCN_VISIT(long double);
8460
0
        case detail::arg_type::narrow_string_view_type:
8461
0
            SCN_VISIT(std::string_view);
8462
0
        case detail::arg_type::narrow_string_type:
8463
0
            SCN_VISIT(std::string);
8464
0
        case detail::arg_type::wide_string_view_type:
8465
0
            SCN_VISIT(std::wstring_view);
8466
13.3M
        case detail::arg_type::wide_string_type:
8467
13.3M
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
13.5M
            SCN_CLANG_POP
8491
13.5M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8412
9.44M
{
8413
9.44M
#define SCN_VISIT(Type)                                         \
8414
9.44M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8415
9.44M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8416
9.44M
    }                                                           \
8417
9.44M
    else {                                                      \
8418
9.44M
        return vis(monostate_val);                              \
8419
9.44M
    }
8420
8421
9.44M
    monostate monostate_val{};
8422
8423
9.44M
    switch (arg.m_type) {
8424
47.1k
        case detail::arg_type::schar_type:
8425
47.1k
            SCN_VISIT(signed char);
8426
0
        case detail::arg_type::short_type:
8427
0
            SCN_VISIT(short);
8428
47.2k
        case detail::arg_type::int_type:
8429
47.2k
            SCN_VISIT(int);
8430
0
        case detail::arg_type::long_type:
8431
0
            SCN_VISIT(long);
8432
47.3k
        case detail::arg_type::llong_type:
8433
47.3k
            SCN_VISIT(long long);
8434
47.0k
        case detail::arg_type::uchar_type:
8435
47.0k
            SCN_VISIT(unsigned char);
8436
0
        case detail::arg_type::ushort_type:
8437
0
            SCN_VISIT(unsigned short);
8438
47.1k
        case detail::arg_type::uint_type:
8439
47.1k
            SCN_VISIT(unsigned);
8440
0
        case detail::arg_type::ulong_type:
8441
0
            SCN_VISIT(unsigned long);
8442
47.2k
        case detail::arg_type::ullong_type:
8443
47.2k
            SCN_VISIT(unsigned long long);
8444
0
        case detail::arg_type::pointer_type:
8445
0
            SCN_VISIT(void*);
8446
0
        case detail::arg_type::bool_type:
8447
0
            SCN_VISIT(bool);
8448
0
        case detail::arg_type::narrow_character_type:
8449
0
            SCN_VISIT(char);
8450
0
        case detail::arg_type::wide_character_type:
8451
0
            SCN_VISIT(wchar_t);
8452
0
        case detail::arg_type::code_point_type:
8453
0
            SCN_VISIT(char32_t);
8454
79.1k
        case detail::arg_type::float_type:
8455
79.1k
            SCN_VISIT(float);
8456
79.2k
        case detail::arg_type::double_type:
8457
79.2k
            SCN_VISIT(double);
8458
79.4k
        case detail::arg_type::ldouble_type:
8459
79.4k
            SCN_VISIT(long double);
8460
0
        case detail::arg_type::narrow_string_view_type:
8461
0
            SCN_VISIT(std::string_view);
8462
0
        case detail::arg_type::narrow_string_type:
8463
0
            SCN_VISIT(std::string);
8464
0
        case detail::arg_type::wide_string_view_type:
8465
0
            SCN_VISIT(std::wstring_view);
8466
8.92M
        case detail::arg_type::wide_string_type:
8467
8.92M
            SCN_VISIT(std::wstring);
8468
0
        case detail::arg_type::narrow_regex_matches_type:
8469
0
            SCN_VISIT(regex_matches);
8470
0
        case detail::arg_type::wide_regex_matches_type:
8471
0
            SCN_VISIT(wregex_matches);
8472
8473
0
        case detail::arg_type::custom_type:
8474
0
#if !SCN_DISABLE_TYPE_CUSTOM
8475
0
            return vis(
8476
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8477
#else
8478
            return vis(monostate_val);
8479
#endif
8480
8481
0
            SCN_CLANG_PUSH
8482
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8483
8484
0
            SCN_UNLIKELY_ATTR
8485
0
        case detail::arg_type::none_type:
8486
0
        default: {
8487
0
            return vis(monostate_val);
8488
0
        }
8489
8490
9.44M
            SCN_CLANG_POP
8491
9.44M
    }
8492
8493
0
#undef SCN_VISIT
8494
8495
0
    SCN_ENSURE(false);
8496
0
    SCN_UNREACHABLE;
8497
0
}
8498
8499
/////////////////////////////////////////////////////////////////
8500
// vscan
8501
/////////////////////////////////////////////////////////////////
8502
8503
/**
8504
 * \defgroup vscan Type-erased scanning API
8505
 *
8506
 * \brief Lower-level scanning API with type-erased arguments
8507
 */
8508
8509
namespace detail {
8510
template <typename Source>
8511
using scan_result_value_type =
8512
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
8513
                       std::FILE*,
8514
                       borrowed_tail_subrange_t<Source>>;
8515
}
8516
8517
/**
8518
 * Result type returned by `vscan`.
8519
 *
8520
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
8521
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
8522
 *
8523
 * \ingroup vscan
8524
 */
8525
template <typename Source>
8526
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
8527
8528
namespace detail {
8529
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
8530
                                         std::string_view format,
8531
                                         scan_args args);
8532
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
8533
                                         std::string_view format,
8534
                                         scan_args args);
8535
8536
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
8537
                                         std::wstring_view format,
8538
                                         wscan_args args);
8539
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
8540
                                         std::wstring_view format,
8541
                                         wscan_args args);
8542
8543
#if !SCN_DISABLE_LOCALE
8544
template <typename Locale>
8545
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8546
                                                   std::string_view source,
8547
                                                   std::string_view format,
8548
                                                   scan_args args);
8549
template <typename Locale>
8550
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8551
                                                   scan_buffer& source,
8552
                                                   std::string_view format,
8553
                                                   scan_args args);
8554
8555
template <typename Locale>
8556
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8557
                                                   std::wstring_view source,
8558
                                                   std::wstring_view format,
8559
                                                   wscan_args args);
8560
template <typename Locale>
8561
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8562
                                                   wscan_buffer& source,
8563
                                                   std::wstring_view format,
8564
                                                   wscan_args args);
8565
#endif
8566
8567
scan_expected<std::ptrdiff_t> vscan_value_impl(
8568
    std::string_view source,
8569
    basic_scan_arg<scan_context> arg);
8570
scan_expected<std::ptrdiff_t> vscan_value_impl(
8571
    scan_buffer& source,
8572
    basic_scan_arg<scan_context> arg);
8573
8574
scan_expected<std::ptrdiff_t> vscan_value_impl(
8575
    std::wstring_view source,
8576
    basic_scan_arg<wscan_context> arg);
8577
scan_expected<std::ptrdiff_t> vscan_value_impl(
8578
    wscan_buffer& source,
8579
    basic_scan_arg<wscan_context> arg);
8580
8581
template <typename Range, typename CharT>
8582
auto vscan_generic(Range&& range,
8583
                   std::basic_string_view<CharT> format,
8584
                   basic_scan_args<basic_scan_context<CharT>> args)
8585
    -> vscan_result<Range>
8586
32.2M
{
8587
32.2M
    auto buffer = make_scan_buffer(range);
8588
8589
32.2M
    auto result = vscan_impl(buffer, format, args);
8590
32.2M
    if (SCN_UNLIKELY(!result)) {
8591
1.21M
        return unexpected(result.error());
8592
1.21M
    }
8593
31.0M
    return make_vscan_result_range(SCN_FWD(range), *result);
8594
32.2M
}
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE
Line
Count
Source
8586
41.7k
{
8587
41.7k
    auto buffer = make_scan_buffer(range);
8588
8589
41.7k
    auto result = vscan_impl(buffer, format, args);
8590
41.7k
    if (SCN_UNLIKELY(!result)) {
8591
40.4k
        return unexpected(result.error());
8592
40.4k
    }
8593
1.25k
    return make_vscan_result_range(SCN_FWD(range), *result);
8594
41.7k
}
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE
Line
Count
Source
8586
83.4k
{
8587
83.4k
    auto buffer = make_scan_buffer(range);
8588
8589
83.4k
    auto result = vscan_impl(buffer, format, args);
8590
83.4k
    if (SCN_UNLIKELY(!result)) {
8591
83.3k
        return unexpected(result.error());
8592
83.3k
    }
8593
166
    return make_vscan_result_range(SCN_FWD(range), *result);
8594
83.4k
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE
Line
Count
Source
8586
2.30M
{
8587
2.30M
    auto buffer = make_scan_buffer(range);
8588
8589
2.30M
    auto result = vscan_impl(buffer, format, args);
8590
2.30M
    if (SCN_UNLIKELY(!result)) {
8591
184k
        return unexpected(result.error());
8592
184k
    }
8593
2.12M
    return make_vscan_result_range(SCN_FWD(range), *result);
8594
2.30M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE
Line
Count
Source
8586
2.26M
{
8587
2.26M
    auto buffer = make_scan_buffer(range);
8588
8589
2.26M
    auto result = vscan_impl(buffer, format, args);
8590
2.26M
    if (SCN_UNLIKELY(!result)) {
8591
179k
        return unexpected(result.error());
8592
179k
    }
8593
2.08M
    return make_vscan_result_range(SCN_FWD(range), *result);
8594
2.26M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE
Line
Count
Source
8586
18.2M
{
8587
18.2M
    auto buffer = make_scan_buffer(range);
8588
8589
18.2M
    auto result = vscan_impl(buffer, format, args);
8590
18.2M
    if (SCN_UNLIKELY(!result)) {
8591
368k
        return unexpected(result.error());
8592
368k
    }
8593
17.8M
    return make_vscan_result_range(SCN_FWD(range), *result);
8594
18.2M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE
Line
Count
Source
8586
9.30M
{
8587
9.30M
    auto buffer = make_scan_buffer(range);
8588
8589
9.30M
    auto result = vscan_impl(buffer, format, args);
8590
9.30M
    if (SCN_UNLIKELY(!result)) {
8591
359k
        return unexpected(result.error());
8592
359k
    }
8593
8.94M
    return make_vscan_result_range(SCN_FWD(range), *result);
8594
9.30M
}
8595
8596
template <typename Locale, typename Range, typename CharT>
8597
auto vscan_localized_generic(const Locale& loc,
8598
                             Range&& range,
8599
                             std::basic_string_view<CharT> format,
8600
                             basic_scan_args<basic_scan_context<CharT>> args)
8601
    -> vscan_result<Range>
8602
32.2M
{
8603
32.2M
#if !SCN_DISABLE_LOCALE
8604
32.2M
    auto buffer = detail::make_scan_buffer(range);
8605
8606
32.2M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8607
32.2M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8608
32.2M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8609
8610
32.2M
    if (SCN_UNLIKELY(!result)) {
8611
1.21M
        return unexpected(result.error());
8612
1.21M
    }
8613
31.0M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8614
#else
8615
    static_assert(dependent_false<Locale>::value,
8616
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8617
8618
    return {};
8619
#endif
8620
32.2M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE
Line
Count
Source
8602
41.7k
{
8603
41.7k
#if !SCN_DISABLE_LOCALE
8604
41.7k
    auto buffer = detail::make_scan_buffer(range);
8605
8606
41.7k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8607
41.7k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8608
41.7k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8609
8610
41.7k
    if (SCN_UNLIKELY(!result)) {
8611
40.4k
        return unexpected(result.error());
8612
40.4k
    }
8613
1.25k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8614
#else
8615
    static_assert(dependent_false<Locale>::value,
8616
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8617
8618
    return {};
8619
#endif
8620
41.7k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE
Line
Count
Source
8602
83.4k
{
8603
83.4k
#if !SCN_DISABLE_LOCALE
8604
83.4k
    auto buffer = detail::make_scan_buffer(range);
8605
8606
83.4k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8607
83.4k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8608
83.4k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8609
8610
83.4k
    if (SCN_UNLIKELY(!result)) {
8611
83.3k
        return unexpected(result.error());
8612
83.3k
    }
8613
166
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8614
#else
8615
    static_assert(dependent_false<Locale>::value,
8616
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8617
8618
    return {};
8619
#endif
8620
83.4k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE
Line
Count
Source
8602
2.30M
{
8603
2.30M
#if !SCN_DISABLE_LOCALE
8604
2.30M
    auto buffer = detail::make_scan_buffer(range);
8605
8606
2.30M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8607
2.30M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8608
2.30M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8609
8610
2.30M
    if (SCN_UNLIKELY(!result)) {
8611
184k
        return unexpected(result.error());
8612
184k
    }
8613
2.12M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8614
#else
8615
    static_assert(dependent_false<Locale>::value,
8616
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8617
8618
    return {};
8619
#endif
8620
2.30M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE
Line
Count
Source
8602
2.26M
{
8603
2.26M
#if !SCN_DISABLE_LOCALE
8604
2.26M
    auto buffer = detail::make_scan_buffer(range);
8605
8606
2.26M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8607
2.26M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8608
2.26M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8609
8610
2.26M
    if (SCN_UNLIKELY(!result)) {
8611
179k
        return unexpected(result.error());
8612
179k
    }
8613
2.08M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8614
#else
8615
    static_assert(dependent_false<Locale>::value,
8616
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8617
8618
    return {};
8619
#endif
8620
2.26M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE
Line
Count
Source
8602
18.2M
{
8603
18.2M
#if !SCN_DISABLE_LOCALE
8604
18.2M
    auto buffer = detail::make_scan_buffer(range);
8605
8606
18.2M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8607
18.2M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8608
18.2M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8609
8610
18.2M
    if (SCN_UNLIKELY(!result)) {
8611
368k
        return unexpected(result.error());
8612
368k
    }
8613
17.8M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8614
#else
8615
    static_assert(dependent_false<Locale>::value,
8616
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8617
8618
    return {};
8619
#endif
8620
18.2M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE
Line
Count
Source
8602
9.30M
{
8603
9.30M
#if !SCN_DISABLE_LOCALE
8604
9.30M
    auto buffer = detail::make_scan_buffer(range);
8605
8606
9.30M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8607
9.30M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8608
9.30M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8609
8610
9.30M
    if (SCN_UNLIKELY(!result)) {
8611
359k
        return unexpected(result.error());
8612
359k
    }
8613
8.94M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8614
#else
8615
    static_assert(dependent_false<Locale>::value,
8616
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8617
8618
    return {};
8619
#endif
8620
9.30M
}
8621
8622
template <typename Range, typename CharT>
8623
auto vscan_value_generic(Range&& range,
8624
                         basic_scan_arg<basic_scan_context<CharT>> arg)
8625
    -> vscan_result<Range>
8626
14.3M
{
8627
14.3M
    auto buffer = detail::make_scan_buffer(range);
8628
8629
14.3M
    auto result = detail::vscan_value_impl(buffer, arg);
8630
14.3M
    if (SCN_UNLIKELY(!result)) {
8631
135k
        return unexpected(result.error());
8632
135k
    }
8633
14.2M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8634
14.3M
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8626
479k
{
8627
479k
    auto buffer = detail::make_scan_buffer(range);
8628
8629
479k
    auto result = detail::vscan_value_impl(buffer, arg);
8630
479k
    if (SCN_UNLIKELY(!result)) {
8631
22.9k
        return unexpected(result.error());
8632
22.9k
    }
8633
456k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8634
479k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8626
432k
{
8627
432k
    auto buffer = detail::make_scan_buffer(range);
8628
8629
432k
    auto result = detail::vscan_value_impl(buffer, arg);
8630
432k
    if (SCN_UNLIKELY(!result)) {
8631
22.1k
        return unexpected(result.error());
8632
22.1k
    }
8633
409k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8634
432k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8626
8.96M
{
8627
8.96M
    auto buffer = detail::make_scan_buffer(range);
8628
8629
8.96M
    auto result = detail::vscan_value_impl(buffer, arg);
8630
8.96M
    if (SCN_UNLIKELY(!result)) {
8631
45.8k
        return unexpected(result.error());
8632
45.8k
    }
8633
8.92M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8634
8.96M
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8626
4.50M
{
8627
4.50M
    auto buffer = detail::make_scan_buffer(range);
8628
8629
4.50M
    auto result = detail::vscan_value_impl(buffer, arg);
8630
4.50M
    if (SCN_UNLIKELY(!result)) {
8631
44.2k
        return unexpected(result.error());
8632
44.2k
    }
8633
4.46M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8634
4.50M
}
8635
}  // namespace detail
8636
8637
SCN_GCC_PUSH
8638
SCN_GCC_IGNORE("-Wnoexcept")
8639
8640
/**
8641
 * Perform actual scanning from `source`, according to `format`, into the
8642
 * type-erased arguments at `args`. Called by `scan`.
8643
 *
8644
 * \ingroup vscan
8645
 */
8646
template <typename Source>
8647
auto vscan(Source&& source, std::string_view format, scan_args args)
8648
    -> vscan_result<Source>
8649
4.60M
{
8650
4.60M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8651
4.60M
}
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESE_NS0_6detail22borrowed_tail_subrangeISA_Xsr6rangesE14borrowed_rangeISA_EEE4typeEE4typeEEEOSA_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8649
41.7k
{
8650
41.7k
    return detail::vscan_generic(SCN_FWD(source), format, args);
8651
41.7k
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8649
2.30M
{
8650
2.30M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8651
2.30M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8649
2.26M
{
8650
2.26M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8651
2.26M
}
8652
8653
/**
8654
 * Perform actual scanning from `source`, according to `format`, into the
8655
 * type-erased arguments at `args`, using `loc`, if requested. Called by
8656
 * `scan`.
8657
 *
8658
 * \ingroup locale
8659
 */
8660
template <typename Source,
8661
          typename Locale,
8662
          typename = std::void_t<decltype(Locale::classic())>>
8663
auto vscan(const Locale& loc,
8664
           Source&& source,
8665
           std::string_view format,
8666
           scan_args args) -> vscan_result<Source>
8667
4.60M
{
8668
4.60M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8669
4.60M
}
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS2_6localeEvEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEERKT0_OSB_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8667
41.7k
{
8668
41.7k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8669
41.7k
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8667
2.30M
{
8668
2.30M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8669
2.30M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8667
2.26M
{
8668
2.26M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8669
2.26M
}
8670
8671
/**
8672
 * Perform actual scanning from `source` into the type-erased argument at
8673
 * `arg`. Called by `scan_value`.
8674
 *
8675
 * \ingroup vscan
8676
 */
8677
template <typename Source>
8678
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
8679
    -> vscan_result<Source>
8680
911k
{
8681
911k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8682
911k
}
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8680
479k
{
8681
479k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8682
479k
}
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8680
432k
{
8681
432k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8682
432k
}
8683
8684
/**
8685
 * Perform actual scanning from `stdin`, according to `format`, into the
8686
 * type-erased arguments at `args`. Called by `input`.
8687
 *
8688
 * \ingroup vscan
8689
 */
8690
scan_error vinput(std::string_view format, scan_args args);
8691
8692
namespace detail {
8693
template <typename T>
8694
auto scan_int_impl(std::string_view source, T& value, int base)
8695
    -> scan_expected<std::string_view::iterator>;
8696
8697
template <typename T>
8698
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
8699
8700
#if !SCN_DISABLE_TYPE_SCHAR
8701
extern template auto scan_int_impl(std::string_view source,
8702
                                   signed char& value,
8703
                                   int base)
8704
    -> scan_expected<std::string_view::iterator>;
8705
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8706
    -> signed char;
8707
#endif
8708
#if !SCN_DISABLE_TYPE_SHORT
8709
extern template auto scan_int_impl(std::string_view source,
8710
                                   short& value,
8711
                                   int base)
8712
    -> scan_expected<std::string_view::iterator>;
8713
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
8714
#endif
8715
#if !SCN_DISABLE_TYPE_INT
8716
extern template auto scan_int_impl(std::string_view source,
8717
                                   int& value,
8718
                                   int base)
8719
    -> scan_expected<std::string_view::iterator>;
8720
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
8721
#endif
8722
#if !SCN_DISABLE_TYPE_LONG
8723
extern template auto scan_int_impl(std::string_view source,
8724
                                   long& value,
8725
                                   int base)
8726
    -> scan_expected<std::string_view::iterator>;
8727
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
8728
#endif
8729
#if !SCN_DISABLE_TYPE_LONG_LONG
8730
extern template auto scan_int_impl(std::string_view source,
8731
                                   long long& value,
8732
                                   int base)
8733
    -> scan_expected<std::string_view::iterator>;
8734
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8735
    -> long long;
8736
#endif
8737
#if !SCN_DISABLE_TYPE_UCHAR
8738
extern template auto scan_int_impl(std::string_view source,
8739
                                   unsigned char& value,
8740
                                   int base)
8741
    -> scan_expected<std::string_view::iterator>;
8742
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8743
    -> unsigned char;
8744
#endif
8745
#if !SCN_DISABLE_TYPE_USHORT
8746
extern template auto scan_int_impl(std::string_view source,
8747
                                   unsigned short& value,
8748
                                   int base)
8749
    -> scan_expected<std::string_view::iterator>;
8750
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8751
    -> unsigned short;
8752
#endif
8753
#if !SCN_DISABLE_TYPE_UINT
8754
extern template auto scan_int_impl(std::string_view source,
8755
                                   unsigned int& value,
8756
                                   int base)
8757
    -> scan_expected<std::string_view::iterator>;
8758
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8759
    -> unsigned int;
8760
#endif
8761
#if !SCN_DISABLE_TYPE_ULONG
8762
extern template auto scan_int_impl(std::string_view source,
8763
                                   unsigned long& value,
8764
                                   int base)
8765
    -> scan_expected<std::string_view::iterator>;
8766
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8767
    -> unsigned long;
8768
#endif
8769
#if !SCN_DISABLE_TYPE_ULONG_LONG
8770
extern template auto scan_int_impl(std::string_view source,
8771
                                   unsigned long long& value,
8772
                                   int base)
8773
    -> scan_expected<std::string_view::iterator>;
8774
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8775
    -> unsigned long long;
8776
#endif
8777
8778
}  // namespace detail
8779
8780
SCN_GCC_POP  // -Wnoexcept
8781
8782
    // dummy namespace to reset formatting
8783
    namespace detail
8784
{
8785
}
8786
8787
/////////////////////////////////////////////////////////////////
8788
// scan
8789
/////////////////////////////////////////////////////////////////
8790
8791
/**
8792
 * Convenience function to construct the value to return from `scan`,
8793
 * based on the return value of `vscan`, and the argument store.
8794
 *
8795
 * Takes its arguments by rvalue reference to disallow extraneous copying.
8796
 *
8797
 * Note: Because `vscan` places the values it scanned into the argument
8798
 * store passed to it, the call to `make_scan_result` needs to happen
8799
 * strictly after calling `vscan`. This means, that this is UB:
8800
 * `return scn::make_scan_result(scn::vscan(...), std::move(args.args()));`
8801
 *
8802
 * Example:
8803
 * \code{.cpp}
8804
 * auto args = scn::make_scan_args<scan_context, Args...>();
8805
 * auto result = scn::vscan(std::forward<Source>(source), format, args);
8806
 * return scn::make_scan_result(std::move(result), std::move(args.args()));
8807
 * \endcode
8808
 *
8809
 * \ingroup result
8810
 */
8811
template <typename Result, typename... Args>
8812
auto make_scan_result(scan_expected<Result>&& result,
8813
                      std::tuple<Args...>&& args)
8814
    -> scan_expected<scan_result<Result, Args...>>
8815
64.4M
{
8816
64.4M
    if (SCN_UNLIKELY(!result)) {
8817
2.43M
        return unexpected(result.error());
8818
2.43M
    }
8819
62.0M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
64.4M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<char>&&)
Line
Count
Source
8815
9.27k
{
8816
9.27k
    if (SCN_UNLIKELY(!result)) {
8817
9.12k
        return unexpected(result.error());
8818
9.12k
    }
8819
146
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
9.27k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<int>&&)
Line
Count
Source
8815
402k
{
8816
402k
    if (SCN_UNLIKELY(!result)) {
8817
48.1k
        return unexpected(result.error());
8818
48.1k
    }
8819
354k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
402k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8815
348k
{
8816
348k
    if (SCN_UNLIKELY(!result)) {
8817
48.1k
        return unexpected(result.error());
8818
48.1k
    }
8819
300k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
348k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<double>&&)
Line
Count
Source
8815
775k
{
8816
775k
    if (SCN_UNLIKELY(!result)) {
8817
47.8k
        return unexpected(result.error());
8818
47.8k
    }
8819
727k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
775k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<bool>&&)
Line
Count
Source
8815
9.27k
{
8816
9.27k
    if (SCN_UNLIKELY(!result)) {
8817
9.27k
        return unexpected(result.error());
8818
9.27k
    }
8819
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
9.27k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<void*>&&)
Line
Count
Source
8815
9.27k
{
8816
9.27k
    if (SCN_UNLIKELY(!result)) {
8817
9.27k
        return unexpected(result.error());
8818
9.27k
    }
8819
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
9.27k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8815
145k
{
8816
145k
    if (SCN_UNLIKELY(!result)) {
8817
18.2k
        return unexpected(result.error());
8818
18.2k
    }
8819
126k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
145k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8815
9.27k
{
8816
9.27k
    if (SCN_UNLIKELY(!result)) {
8817
8.48k
        return unexpected(result.error());
8818
8.48k
    }
8819
788
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
9.27k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
8815
145k
{
8816
145k
    if (SCN_UNLIKELY(!result)) {
8817
18.2k
        return unexpected(result.error());
8818
18.2k
    }
8819
126k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
145k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<wchar_t>&&)
Line
Count
Source
8815
18.5k
{
8816
18.5k
    if (SCN_UNLIKELY(!result)) {
8817
18.4k
        return unexpected(result.error());
8818
18.4k
    }
8819
74
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
18.5k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<int>&&)
Line
Count
Source
8815
97.0k
{
8816
97.0k
    if (SCN_UNLIKELY(!result)) {
8817
96.3k
        return unexpected(result.error());
8818
96.3k
    }
8819
656
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
97.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8815
96.9k
{
8816
96.9k
    if (SCN_UNLIKELY(!result)) {
8817
96.3k
        return unexpected(result.error());
8818
96.3k
    }
8819
522
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
96.9k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<double>&&)
Line
Count
Source
8815
114k
{
8816
114k
    if (SCN_UNLIKELY(!result)) {
8817
95.7k
        return unexpected(result.error());
8818
95.7k
    }
8819
18.7k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
114k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<bool>&&)
Line
Count
Source
8815
18.5k
{
8816
18.5k
    if (SCN_UNLIKELY(!result)) {
8817
18.5k
        return unexpected(result.error());
8818
18.5k
    }
8819
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
18.5k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<void*>&&)
Line
Count
Source
8815
18.5k
{
8816
18.5k
    if (SCN_UNLIKELY(!result)) {
8817
18.5k
        return unexpected(result.error());
8818
18.5k
    }
8819
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
18.5k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8815
18.5k
{
8816
18.5k
    if (SCN_UNLIKELY(!result)) {
8817
18.4k
        return unexpected(result.error());
8818
18.4k
    }
8819
86
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
18.5k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8815
17.8M
{
8816
17.8M
    if (SCN_UNLIKELY(!result)) {
8817
37.9k
        return unexpected(result.error());
8818
37.9k
    }
8819
17.8M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
17.8M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
8815
17.8M
{
8816
17.8M
    if (SCN_UNLIKELY(!result)) {
8817
37.9k
        return unexpected(result.error());
8818
37.9k
    }
8819
17.8M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
17.8M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8815
311k
{
8816
311k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
272k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
311k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8815
300k
{
8816
300k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
261k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
300k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8815
400k
{
8816
400k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
361k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
400k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8815
343k
{
8816
343k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
304k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
343k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8815
312k
{
8816
312k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
273k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
312k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8815
301k
{
8816
301k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
262k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
301k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<int>&&)
Line
Count
Source
8815
394k
{
8816
394k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
355k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
394k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8815
341k
{
8816
341k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
302k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
341k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8815
401k
{
8816
401k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
362k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
401k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8815
344k
{
8816
344k
    if (SCN_UNLIKELY(!result)) {
8817
38.9k
        return unexpected(result.error());
8818
38.9k
    }
8819
305k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
344k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8815
78.3k
{
8816
78.3k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
550
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8815
78.3k
{
8816
78.3k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
464
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8815
78.6k
{
8816
78.6k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
794
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8815
78.4k
{
8816
78.4k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
640
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8815
78.3k
{
8816
78.3k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
550
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8815
78.3k
{
8816
78.3k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
464
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<int>&&)
Line
Count
Source
8815
78.4k
{
8816
78.4k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
656
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8815
78.3k
{
8816
78.3k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
522
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8815
78.6k
{
8816
78.6k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
794
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8815
78.4k
{
8816
78.4k
    if (SCN_UNLIKELY(!result)) {
8817
77.8k
        return unexpected(result.error());
8818
77.8k
    }
8819
640
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8815
138k
{
8816
138k
    if (SCN_UNLIKELY(!result)) {
8817
9.75k
        return unexpected(result.error());
8818
9.75k
    }
8819
128k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
138k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8815
17.8M
{
8816
17.8M
    if (SCN_UNLIKELY(!result)) {
8817
19.5k
        return unexpected(result.error());
8818
19.5k
    }
8819
17.8M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
17.8M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<float>&&)
Line
Count
Source
8815
710k
{
8816
710k
    if (SCN_UNLIKELY(!result)) {
8817
38.5k
        return unexpected(result.error());
8818
38.5k
    }
8819
671k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
710k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8815
775k
{
8816
775k
    if (SCN_UNLIKELY(!result)) {
8817
38.5k
        return unexpected(result.error());
8818
38.5k
    }
8819
736k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
775k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<float>&&)
Line
Count
Source
8815
722k
{
8816
722k
    if (SCN_UNLIKELY(!result)) {
8817
38.5k
        return unexpected(result.error());
8818
38.5k
    }
8819
684k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
722k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<double>&&)
Line
Count
Source
8815
778k
{
8816
778k
    if (SCN_UNLIKELY(!result)) {
8817
38.5k
        return unexpected(result.error());
8818
38.5k
    }
8819
740k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
778k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8815
787k
{
8816
787k
    if (SCN_UNLIKELY(!result)) {
8817
38.5k
        return unexpected(result.error());
8818
38.5k
    }
8819
749k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
787k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<float>&&)
Line
Count
Source
8815
95.7k
{
8816
95.7k
    if (SCN_UNLIKELY(!result)) {
8817
77.1k
        return unexpected(result.error());
8818
77.1k
    }
8819
18.5k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
95.7k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8815
96.0k
{
8816
96.0k
    if (SCN_UNLIKELY(!result)) {
8817
77.1k
        return unexpected(result.error());
8818
77.1k
    }
8819
18.8k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
96.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<float>&&)
Line
Count
Source
8815
95.6k
{
8816
95.6k
    if (SCN_UNLIKELY(!result)) {
8817
77.1k
        return unexpected(result.error());
8818
77.1k
    }
8819
18.5k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
95.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<double>&&)
Line
Count
Source
8815
95.8k
{
8816
95.8k
    if (SCN_UNLIKELY(!result)) {
8817
77.1k
        return unexpected(result.error());
8818
77.1k
    }
8819
18.6k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
95.8k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8815
95.9k
{
8816
95.9k
    if (SCN_UNLIKELY(!result)) {
8817
77.1k
        return unexpected(result.error());
8818
77.1k
    }
8819
18.8k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8820
95.9k
}
8821
8822
/**
8823
 * The return type of `scan`, based on the type of the source, and the
8824
 * types of the scanned arguments.
8825
 */
8826
template <typename Source, typename... Args>
8827
using scan_result_type =
8828
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
8829
8830
/**
8831
 * \defgroup scan Basic scanning API
8832
 *
8833
 * \brief The core public-facing interface of the library
8834
 *
8835
 * The following functions use a format string syntax similar to that of
8836
 * `std::format`. See more at \ref format-string.
8837
 *
8838
 * When these functions take a `source` as input, it must
8839
 * model the `scannable_source` concept. See more at \ref scannable.
8840
 */
8841
8842
/**
8843
 * Scans `Args...` from `source`, according to the
8844
 * specifications given in the format string (`format`).
8845
 * Returns the resulting values in an object of type `scan_result`,
8846
 * alongside a `subrange` pointing to the unused input.
8847
 *
8848
 * Example:
8849
 * \code{.cpp}
8850
 * if (auto result = scn::scan<int>("123", "{}"))
8851
 *     int value = result->value();
8852
 * \endcode
8853
 *
8854
 * \ingroup scan
8855
 */
8856
template <typename... Args,
8857
          typename Source,
8858
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8859
SCN_NODISCARD auto scan(Source&& source,
8860
                        scan_format_string<Source, Args...> format)
8861
    -> scan_result_type<Source, Args...>
8862
4.60M
{
8863
4.60M
    auto args = make_scan_args<scan_context, Args...>();
8864
4.60M
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.60M
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.60M
}
_ZN3scn2v34scanIJcERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJiERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJjERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJdERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJbERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJPvERNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEEOSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNST_ISN_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEERNS2_17basic_string_viewIcS5_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEEOSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSW_ISQ_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEERNS2_17basic_string_viewIcNS4_IcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEEOSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNSX_ISR_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEERS6_vEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8862
4.63k
{
8863
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8864
4.63k
    auto result = vscan(SCN_FWD(source), format, args);
8865
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
4.63k
}
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
155k
{
8863
155k
    auto args = make_scan_args<scan_context, Args...>();
8864
155k
    auto result = vscan(SCN_FWD(source), format, args);
8865
155k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
155k
}
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
150k
{
8863
150k
    auto args = make_scan_args<scan_context, Args...>();
8864
150k
    auto result = vscan(SCN_FWD(source), format, args);
8865
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
150k
}
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
196k
{
8863
196k
    auto args = make_scan_args<scan_context, Args...>();
8864
196k
    auto result = vscan(SCN_FWD(source), format, args);
8865
196k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
196k
}
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
169k
{
8863
169k
    auto args = make_scan_args<scan_context, Args...>();
8864
169k
    auto result = vscan(SCN_FWD(source), format, args);
8865
169k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
169k
}
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
200k
{
8863
200k
    auto args = make_scan_args<scan_context, Args...>();
8864
200k
    auto result = vscan(SCN_FWD(source), format, args);
8865
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
200k
}
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
171k
{
8863
171k
    auto args = make_scan_args<scan_context, Args...>();
8864
171k
    auto result = vscan(SCN_FWD(source), format, args);
8865
171k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
171k
}
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
156k
{
8863
156k
    auto args = make_scan_args<scan_context, Args...>();
8864
156k
    auto result = vscan(SCN_FWD(source), format, args);
8865
156k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
156k
}
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
150k
{
8863
150k
    auto args = make_scan_args<scan_context, Args...>();
8864
150k
    auto result = vscan(SCN_FWD(source), format, args);
8865
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
150k
}
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
197k
{
8863
197k
    auto args = make_scan_args<scan_context, Args...>();
8864
197k
    auto result = vscan(SCN_FWD(source), format, args);
8865
197k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
197k
}
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
170k
{
8863
170k
    auto args = make_scan_args<scan_context, Args...>();
8864
170k
    auto result = vscan(SCN_FWD(source), format, args);
8865
170k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
170k
}
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
200k
{
8863
200k
    auto args = make_scan_args<scan_context, Args...>();
8864
200k
    auto result = vscan(SCN_FWD(source), format, args);
8865
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
200k
}
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
172k
{
8863
172k
    auto args = make_scan_args<scan_context, Args...>();
8864
172k
    auto result = vscan(SCN_FWD(source), format, args);
8865
172k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
172k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
8862
67.9k
{
8863
67.9k
    auto args = make_scan_args<scan_context, Args...>();
8864
67.9k
    auto result = vscan(SCN_FWD(source), format, args);
8865
67.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
67.9k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEEOSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNSY_ISS_E4typeEEEE
Line
Count
Source
8862
67.9k
{
8863
67.9k
    auto args = make_scan_args<scan_context, Args...>();
8864
67.9k
    auto result = vscan(SCN_FWD(source), format, args);
8865
67.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
67.9k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJDpT_EEEEEOSO_NS0_24basic_scan_format_stringIcNST_13type_identityISO_E4typeEJDpNS15_ISZ_E4typeEEEE
Line
Count
Source
8862
69.2k
{
8863
69.2k
    auto args = make_scan_args<scan_context, Args...>();
8864
69.2k
    auto result = vscan(SCN_FWD(source), format, args);
8865
69.2k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
69.2k
}
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
355k
{
8863
355k
    auto args = make_scan_args<scan_context, Args...>();
8864
355k
    auto result = vscan(SCN_FWD(source), format, args);
8865
355k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
355k
}
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
382k
{
8863
382k
    auto args = make_scan_args<scan_context, Args...>();
8864
382k
    auto result = vscan(SCN_FWD(source), format, args);
8865
382k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
382k
}
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8862
387k
{
8863
387k
    auto args = make_scan_args<scan_context, Args...>();
8864
387k
    auto result = vscan(SCN_FWD(source), format, args);
8865
387k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
387k
}
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
361k
{
8863
361k
    auto args = make_scan_args<scan_context, Args...>();
8864
361k
    auto result = vscan(SCN_FWD(source), format, args);
8865
361k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
361k
}
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
389k
{
8863
389k
    auto args = make_scan_args<scan_context, Args...>();
8864
389k
    auto result = vscan(SCN_FWD(source), format, args);
8865
389k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
389k
}
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8862
393k
{
8863
393k
    auto args = make_scan_args<scan_context, Args...>();
8864
393k
    auto result = vscan(SCN_FWD(source), format, args);
8865
393k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8866
393k
}
8867
8868
/**
8869
 * `scan` with explicitly supplied default values
8870
 *
8871
 * Can be used, for example, for pre-allocating a scanned string:
8872
 *
8873
 * \code{.cpp}
8874
 * std::string str;
8875
 * str.reserve(64);
8876
 *
8877
 * // As long as the read string fits in `str`,
8878
 * // does not allocate
8879
 * auto result = scn::scan<std::string>(source, "{}",
8880
 *                                      {std::move(str)});
8881
 * // Access the read string with result->value()
8882
 * \endcode
8883
 *
8884
 * \ingroup scan
8885
 */
8886
template <typename... Args,
8887
          typename Source,
8888
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8889
SCN_NODISCARD auto scan(Source&& source,
8890
                        scan_format_string<Source, Args...> format,
8891
                        std::tuple<Args...>&& initial_args)
8892
    -> scan_result_type<Source, Args...>
8893
{
8894
    auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args));
8895
    auto result = vscan(SCN_FWD(source), format, args);
8896
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8897
}
8898
8899
/**
8900
 * \defgroup locale Localization
8901
 *
8902
 * \brief Scanning APIs that allow passing in a locale
8903
 */
8904
8905
/**
8906
 * `scan` using an explicit locale.
8907
 *
8908
 * Has no effect on its own, locale-specific scanning still needs to be
8909
 * opted-into on an argument-by-argument basis, with the `L` format string
8910
 * specifier.
8911
 *
8912
 * \code{.cpp}
8913
 * auto result = scn::scan<double>(
8914
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
8915
 * // result->value() == 3.14
8916
 * \endcode
8917
 *
8918
 * \ingroup locale
8919
 */
8920
template <typename... Args,
8921
          typename Locale,
8922
          typename Source,
8923
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
8924
          typename = std::void_t<decltype(Locale::classic())>>
8925
SCN_NODISCARD auto scan(const Locale& loc,
8926
                        Source&& source,
8927
                        scan_format_string<Source, Args...> format)
8928
    -> scan_result_type<Source, Args...>
8929
4.60M
{
8930
4.60M
    auto args = make_scan_args<scan_context, Args...>();
8931
4.60M
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.60M
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.60M
}
_ZN3scn2v34scanIJcENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJiENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJjENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJdENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJbENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJPvENSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEERKT0_OSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSX_ISO_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeERNS2_17basic_string_viewIcS5_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEERKT0_OSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNS10_ISR_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEENS2_6localeERNS2_17basic_string_viewIcNS4_IcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEERKT0_OSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNS11_ISS_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeERS6_vvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8929
4.63k
{
8930
4.63k
    auto args = make_scan_args<scan_context, Args...>();
8931
4.63k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
4.63k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
4.63k
}
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
155k
{
8930
155k
    auto args = make_scan_args<scan_context, Args...>();
8931
155k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
155k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
155k
}
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
150k
{
8930
150k
    auto args = make_scan_args<scan_context, Args...>();
8931
150k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
150k
}
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
196k
{
8930
196k
    auto args = make_scan_args<scan_context, Args...>();
8931
196k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
196k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
196k
}
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
169k
{
8930
169k
    auto args = make_scan_args<scan_context, Args...>();
8931
169k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
169k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
169k
}
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
200k
{
8930
200k
    auto args = make_scan_args<scan_context, Args...>();
8931
200k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
200k
}
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
171k
{
8930
171k
    auto args = make_scan_args<scan_context, Args...>();
8931
171k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
171k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
171k
}
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
156k
{
8930
156k
    auto args = make_scan_args<scan_context, Args...>();
8931
156k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
156k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
156k
}
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
150k
{
8930
150k
    auto args = make_scan_args<scan_context, Args...>();
8931
150k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
150k
}
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
197k
{
8930
197k
    auto args = make_scan_args<scan_context, Args...>();
8931
197k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
197k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
197k
}
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
170k
{
8930
170k
    auto args = make_scan_args<scan_context, Args...>();
8931
170k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
170k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
170k
}
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
200k
{
8930
200k
    auto args = make_scan_args<scan_context, Args...>();
8931
200k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
200k
}
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
172k
{
8930
172k
    auto args = make_scan_args<scan_context, Args...>();
8931
172k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
172k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
172k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
8929
67.9k
{
8930
67.9k
    auto args = make_scan_args<scan_context, Args...>();
8931
67.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
67.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
67.9k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSD_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEERKT0_OSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNS12_IST_E4typeEEEE
Line
Count
Source
8929
67.9k
{
8930
67.9k
    auto args = make_scan_args<scan_context, Args...>();
8931
67.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
67.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
67.9k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSF_PKSG_lLl4096EEESK_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEEST_NS0_6detail22borrowed_tail_subrangeISP_Xsr6rangesE14borrowed_rangeISP_EEE4typeEE4typeEJDpT_EEEEERKT0_OSP_NS0_24basic_scan_format_stringIcNSU_13type_identityISP_E4typeEJDpNS19_IS10_E4typeEEEE
Line
Count
Source
8929
69.2k
{
8930
69.2k
    auto args = make_scan_args<scan_context, Args...>();
8931
69.2k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
69.2k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
69.2k
}
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
355k
{
8930
355k
    auto args = make_scan_args<scan_context, Args...>();
8931
355k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
355k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
355k
}
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
382k
{
8930
382k
    auto args = make_scan_args<scan_context, Args...>();
8931
382k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
382k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
382k
}
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8929
387k
{
8930
387k
    auto args = make_scan_args<scan_context, Args...>();
8931
387k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
387k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
387k
}
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
361k
{
8930
361k
    auto args = make_scan_args<scan_context, Args...>();
8931
361k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
361k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
361k
}
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
389k
{
8930
389k
    auto args = make_scan_args<scan_context, Args...>();
8931
389k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
389k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
389k
}
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8929
393k
{
8930
393k
    auto args = make_scan_args<scan_context, Args...>();
8931
393k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8932
393k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8933
393k
}
8934
8935
/**
8936
 * `scan` with a locale and default values
8937
 *
8938
 * \ingroup locale
8939
 */
8940
template <typename... Args,
8941
          typename Locale,
8942
          typename Source,
8943
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
8944
          typename = std::void_t<decltype(Locale::classic())>>
8945
SCN_NODISCARD auto scan(const Locale& loc,
8946
                        Source&& source,
8947
                        scan_format_string<Source, Args...> format,
8948
                        std::tuple<Args...>&& initial_args)
8949
    -> scan_result_type<Source, Args...>
8950
{
8951
    auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args));
8952
    auto result = vscan(loc, SCN_FWD(source), format, args);
8953
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8954
}
8955
8956
/**
8957
 * `scan` a single value, with default options.
8958
 *
8959
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
8960
 * except it can skip parsing the format string, gaining performance.
8961
 *
8962
 * \ingroup scan
8963
 */
8964
template <typename T,
8965
          typename Source,
8966
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8967
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
8968
911k
{
8969
911k
    T value;
8970
911k
    auto arg = detail::make_arg<scan_context>(value);
8971
911k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
866k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
911k
}
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
26.2k
{
8969
26.2k
    T value;
8970
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8971
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
24.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
26.2k
}
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
23.3k
{
8969
23.3k
    T value;
8970
23.3k
    auto arg = detail::make_arg<scan_context>(value);
8971
23.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
21.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
23.3k
}
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
30.3k
{
8969
30.3k
    T value;
8970
30.3k
    auto arg = detail::make_arg<scan_context>(value);
8971
30.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
28.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
30.3k
}
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
26.0k
{
8969
26.0k
    T value;
8970
26.0k
    auto arg = detail::make_arg<scan_context>(value);
8971
26.0k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
24.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
26.0k
}
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
30.9k
{
8969
30.9k
    T value;
8970
30.9k
    auto arg = detail::make_arg<scan_context>(value);
8971
30.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
29.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
30.9k
}
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
26.3k
{
8969
26.3k
    T value;
8970
26.3k
    auto arg = detail::make_arg<scan_context>(value);
8971
26.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
24.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
26.3k
}
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
26.2k
{
8969
26.2k
    T value;
8970
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8971
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
24.2k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
26.2k
}
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
23.2k
{
8969
23.2k
    T value;
8970
23.2k
    auto arg = detail::make_arg<scan_context>(value);
8971
23.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
21.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
23.2k
}
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
29.8k
{
8969
29.8k
    T value;
8970
29.8k
    auto arg = detail::make_arg<scan_context>(value);
8971
29.8k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
27.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
29.8k
}
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
25.9k
{
8969
25.9k
    T value;
8970
25.9k
    auto arg = detail::make_arg<scan_context>(value);
8971
25.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
24.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
25.9k
}
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
30.3k
{
8969
30.3k
    T value;
8970
30.3k
    auto arg = detail::make_arg<scan_context>(value);
8971
30.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
28.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
30.3k
}
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
26.2k
{
8969
26.2k
    T value;
8970
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8971
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
24.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
26.2k
}
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
8968
32.1k
{
8969
32.1k
    T value;
8970
32.1k
    auto arg = detail::make_arg<scan_context>(value);
8971
32.1k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
31.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
32.1k
}
_ZN3scn2v310scan_valueINSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJT_EEEEEOSH_
Line
Count
Source
8968
32.1k
{
8969
32.1k
    T value;
8970
32.1k
    auto arg = detail::make_arg<scan_context>(value);
8971
32.1k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
31.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
32.1k
}
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJT_EEEEEOSO_
Line
Count
Source
8968
32.8k
{
8969
32.8k
    T value;
8970
32.8k
    auto arg = detail::make_arg<scan_context>(value);
8971
32.8k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
32.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
32.8k
}
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
77.8k
{
8969
77.8k
    T value;
8970
77.8k
    auto arg = detail::make_arg<scan_context>(value);
8971
77.8k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
74.6k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
77.8k
}
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
86.1k
{
8969
86.1k
    T value;
8970
86.1k
    auto arg = detail::make_arg<scan_context>(value);
8971
86.1k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
82.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
86.1k
}
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8968
87.6k
{
8969
87.6k
    T value;
8970
87.6k
    auto arg = detail::make_arg<scan_context>(value);
8971
87.6k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
84.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
87.6k
}
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
73.5k
{
8969
73.5k
    T value;
8970
73.5k
    auto arg = detail::make_arg<scan_context>(value);
8971
73.5k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
70.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
73.5k
}
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
81.3k
{
8969
81.3k
    T value;
8970
81.3k
    auto arg = detail::make_arg<scan_context>(value);
8971
81.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
78.1k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
81.3k
}
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8968
82.3k
{
8969
82.3k
    T value;
8970
82.3k
    auto arg = detail::make_arg<scan_context>(value);
8971
82.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8972
79.1k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8973
82.3k
}
8974
8975
/**
8976
 * `scan` a single value, with default options, and a default value.
8977
 *
8978
 * \ingroup scan
8979
 */
8980
template <typename T,
8981
          typename Source,
8982
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
8983
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
8984
    -> scan_result_type<Source, T>
8985
{
8986
    auto arg = detail::make_arg<scan_context>(initial_value);
8987
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8988
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(initial_value)}};
8989
}
8990
8991
/**
8992
 * Scan from `stdin`.
8993
 *
8994
 * Equivalent to `scn::scan<...>(stdin, ...)`.
8995
 *
8996
 * \code{.cpp}
8997
 * auto result = scn::input<int>("{}");
8998
 * \endcode
8999
 *
9000
 * \ingroup scan
9001
 */
9002
template <typename... Args>
9003
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
9004
    -> scan_result_type<std::FILE*, Args...>
9005
{
9006
    auto args = make_scan_args<scan_context, Args...>();
9007
    auto err = vinput(format, args);
9008
    if (SCN_UNLIKELY(!err)) {
9009
        return unexpected(err);
9010
    }
9011
    return scan_result{stdin, SCN_MOVE(args.args())};
9012
}
9013
9014
/**
9015
 * Write msg to stdout, and call `input<Args...>(format)`
9016
 *
9017
 * \ingroup scan
9018
 */
9019
template <typename... Args>
9020
SCN_NODISCARD auto prompt(const char* msg,
9021
                          scan_format_string<std::FILE*, Args...> format)
9022
    -> scan_result_type<std::FILE*, Args...>
9023
{
9024
    std::printf("%s", msg);
9025
    std::fflush(stdout);
9026
    return input<Args...>(format);
9027
}
9028
9029
namespace detail {
9030
template <typename T>
9031
inline constexpr bool is_scan_int_type =
9032
    std::is_integral_v<T> && !std::is_same_v<T, char> &&
9033
    !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
9034
    !std::is_same_v<T, bool>;
9035
}
9036
9037
/**
9038
 * Fast integer reading.
9039
 *
9040
 * Quickly reads an integer from a `std::string_view`. Skips preceding
9041
 * whitespace.
9042
 *
9043
 * Reads in the specified base,
9044
 * allowing a base prefix. Set `base` to `0` to detect the base from the
9045
 * input. `base` must either be `0`, or in range `[2, 36]`.
9046
 *
9047
 * \ingroup scan
9048
 */
9049
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9050
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
9051
    -> scan_result_type<std::string_view, T>
9052
{
9053
    T value{};
9054
    SCN_TRY(it, detail::scan_int_impl(source, value, base));
9055
    return scan_result{ranges::subrange{it, source.end()}, std::tuple{value}};
9056
}
9057
9058
namespace detail {
9059
template <bool Val, typename T>
9060
inline constexpr bool dependent_bool = Val;
9061
}
9062
9063
/**
9064
 * Very fast integer reading.
9065
 *
9066
 * Quickly reads an integer from a `std::string_view`.
9067
 *
9068
 * Be very careful when using this one!
9069
 * Its speed comes from some very heavy assumptions about the validity of
9070
 * the input:
9071
 *  - `source` must not be empty.
9072
 *  - `source` contains nothing but the integer: no leading or trailing
9073
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
9074
 *    no `+` is allowed.
9075
 *  - The parsed value does not overflow.
9076
 *  - The input is a valid base-10 integer.
9077
 * Breaking these assumptions will lead to UB.
9078
 *
9079
 * \ingroup scan
9080
 */
9081
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9082
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
9083
{
9084
    static_assert(
9085
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
9086
        "scan_int_exhaustive_valid requires a little endian environment");
9087
    return detail::scan_int_exhaustive_valid_impl<T>(source);
9088
}
9089
9090
SCN_END_NAMESPACE
9091
}  // namespace scn